- 博客(134)
- 资源 (2)
- 收藏
- 关注
转载 利用inner join核对两张表的数据
1、inner join 浅尝提到比对两张表的数据是否完全相同,很容易想到用inner join关联两张表去比较。Inner join的基本语法是:select collist from t1 inner join t2 on condition1 and condition2…;简单理解就是对于t1表中的每一行,将它与t2表的每一行进行比较,检查他们是否满足关联条件,当满足关联条件时,inner join 将返回由t1和t2表中的列组成的新行,当无法满足关联条件时,将返回一个空结果。下面举个例子:
2021-10-29 16:08:59 2673
原创 数仓建设之指标体系搭建
一、 什么是指标体系1**. 指标体系定义**指标体系是将零散单点的具有相互联系的指标,系统化的组织起来,通过单点看全局,通过全局解决单点的问题。它主要由指标和体系两部分组成。指标是指将业务单元细分后量化的度量值,它使得业务目标可描述、可度量、可拆解,它是业务和数据的结合,是统计的基础,也是量化效果的重要依据。指标主要分为结果型和过程型:结果型指标:用于衡量用户发生某个动作后所产生的结果,通常是延后知道的,很难进行干预。结果型指标更多的是监控数据异常,或者是监控某个场景下用户需求是否被满足过程型
2021-07-08 15:44:31 704 2
原创 数据仓库建设思路
数据仓库的实现方通常有 自顶向下、自底向上和两者结合进行的这样三种实现方案。自顶向下实现:自顶向下的实现需要在项目开始时完成更多计划和设计工作,这就需要涉及参与数据仓库实现的每个工作组、部门或业务线中的人员。要使 用的数据源、安全性、数据结构、数据质量、数据标准和整个数据模型的有关决策一般需要在真正的实现开始之前就完成。自底向上实现:自底向上的实现包含数据仓库的规划和设计,无需等待安置好更大业务范围的数据仓库设计。这并不意味着不会开发更大业务范围的数据仓 库设计;随着初始数据仓库实现的扩展,将逐渐增加
2021-07-01 11:54:58 902
转载 Hive SQL底层执行过程详细剖析
看到一篇干货,copy一下本文结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。**Hive**Hive是什么?Hive 是数据仓库工具,再具体点就是一个 SQL 解析引擎,因为它即不负责存储数据,也不负责计算数据,只负责解析 SQL,记录元数据。Hive直接访问存储在 HDFS 中
2021-06-18 16:24:33 579
原创 Hive 动态分区
hive可以通过分区缩小数据集,避免全表扫描,提高查询速度和性能的。Hive的分区主要有两种:静态分区和 动态分区Hive静态分区Hive的静态分区,实际上就是手动指定分区的值为静态值,这种对于小批量的分区插入比较友好。在插入语句中如果partition字段指定了具体的值 ,例如:partition(year=“2020”)这样的分区就叫静态分区了,是不是很简单?Hive动态分区Hive的动态分区,其实就是把静态分区中的分区值设置为动态的值insert overwri...
2021-04-07 18:02:34 2145
原创 07 数据分析- 决策性分析
决策性分析通过数据分析、挖掘确定事件的最佳执行方案,以增加收入、降低成本、提升效率、控制风险的目的决策大决策决策频率低,单次决策影响大,价值高目标:提供决策支持,帮助决策人员做出最佳决策小决策决策频率高,单次决策影响小,总价值高目标:根据决策目标,通过决策系统给出最佳决策结果决策支持的分析步骤(大决策)1. 现状是什么 - 描述性分析2. 现状存在哪些问题 - 诊断性分析...
2020-04-26 00:13:04 686
原创 06数据分析 - 预测性分析
预测性分析分类 1. 决策树算法 计算步骤: 选择对象的一个特征,并根据这一特征对训练集进行分类 计算某特征分类后分类结果的混乱程度 (使用基尼系数,系数越小越接近根结点) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200425112417134.png?x-oss-process=image/watermark,ty...
2020-04-25 13:00:43 1914
原创 05 数据分析 - 诊断性分析方法
诊断性分析: 根据业务逻辑,通过数据寻找引起最终结果的原因和可以改变未来结果的方法分析目的解决问题 坏的结果 -> 产生问题的原因和解决的方案发现机会 好的结果 -> 在机会出现的时候发现机会分析步骤List item确定问题的描述指标,以及指标的统计逻辑确定指标的类别,是基础指标还是复合指标对复合指标进行分解,分解到基础指标对指标的描述对象进行分解,分解到基...
2020-04-24 21:40:22 3880
原创 04数据分析- 描述性分析方法
描述性分析方法描述性分析目的是描述现实,发现问题全链路描述性方法的步骤:1. 确定描述对象2. 明确业务目标,熟悉业务逻辑3. 分割业务环节,确定关键节点4. 利益关系人及关系人的关注点5. 确定可以描述分析对象的指标6. 确定指标的评价标准指标的评价方法:1、事件结果的评价: 结果是好还是坏同评价标准比同目标比相同级别对象之间的比较行业水平的比较2、事件变化趋势的评...
2020-04-22 09:07:46 2875
原创 03 数据分析之分布分析
分布分析对数据的分布情况进行描述,从而对事件的发生规律有准确的认识定量数据目的是可以让我们了解:事件发生的一般结果是什么 --集中趋势事件结果的变化情况 – 离中趋势事件各个结果的发生概率是什么 --图形特征定量分析的指标:- 中心位置/集中趋势 :均值、中位数、众数、四分位数- 分散程度/离中趋势:方差、标准差、极差、变异系数{标准差/平均值...
2020-04-21 14:18:01 1992
原创 02 数据分析-数据指标与质量
数据指标根据数据统计或数据分析得到的反映或评价某一事件的数据指标的属性:业务属性 —— 名称、计算逻辑、描述对象、时效和查询权限等技术属性 —— 系统来源、取数字段、取数频率、加工规则指标的类别1. 按照统计方式分 基础指标: 是描述对象的直接统计结果,未经过转化的数据,如交易笔数、交易金额、交易用户数 复合指标: 建立在基础指标之上,通过一定的运算规则形成的反映事件结果的数据...
2020-04-20 11:29:16 448
原创 01 数据分析的四个等级
一. 描述性分析 - 监控现状 以级成事件的关键环节为基础,通过设置合理的指标对各环节进行量化,以达到还原事件的目的。 同时可以根据科学的评价标准,发现事件发生过程中的异常 分析目的:1. 描述现实 -——发生了什么 what who when where...
2020-04-19 23:17:37 1152
原创 学习笔记(02):大数据项目实战电商推荐系统-04_电商推荐系统_项目系统设计(下)...
本教程为官方授权出品 如今大数据已经成了各大互联网公司工作的重点方向,而推荐系统可以说就是大数据最好的落地应用之一,已经为企业带来了可观的用户流量和销售额。特别是对于电商,好的推荐系统可以大大提升电商企业的销售业绩。国内外的知名电商,如亚马逊、淘宝、京东等公司,都在推荐系统领域投入了大量研发力量,也在大量招收相关的专业人才。量身定制打造的电商推荐系统项目,就是以经过修改的中文亚马逊...
2019-07-23 20:12:05 706
原创 学习笔记(01):大数据项目实战电商推荐系统-03_电商推荐系统_项目系统设计(中)...
本教程为官方授权出品 如今大数据已经成了各大互联网公司工作的重点方向,而推荐系统可以说就是大数据最好的落地应用之一,已经为企业带来了可观的用户流量和销售额。特别是对于电商,好的推荐系统可以大大提升电商企业的销售业绩。国内外的知名电商,如亚马逊、淘宝、京东等公司,都在推荐系统领域投入了大量研发力量,也在大量招收相关的专业人才。量身定制打造的电商推荐系统项目,就是以经过修改的中文亚马逊...
2019-07-23 20:04:55 828
原创 Sqoop 日期字段导出报错
想用sqoop 把导入到hive的基础表导出到另一个数据库。 Sqoop 导出数据时报如下错误:java.lang.RuntimeException: Can't parse input data: '2018-07-18' at ........org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java...
2018-07-18 16:00:38 6132 1
原创 python数组(list) 求交集、并集、差集
两个集合: a = [1,2,3,4,5,6] b = [3,5,7]1.求交集 方式一: intersection = [i for i in a if i in b] intersection = list(set(a).intersection(set(b))) 结果: [3, 5]2.求并集 union= list(set(a).u...
2018-07-03 15:38:14 14599 1
原创 under replicated blocks 解决办法
ambari 监控页面显示under replicated blocks 显示红色。查了一下发现可以用hadoop fs 的 setrep命令解决这个问题。下面是运行 hadoop fs -help 时,对这个命令的解释-setrep [-R] [-w] <rep> <path> ... : Set the replication level of a fi...
2018-06-07 10:32:12 10408 1
原创 mysql找回root 密码
一台测试服务器是另一个同事装的Mysql,不记得root密码了,所以查了一下如何找回root密码, 实际上是免密登录后修改root密码.操作步骤如下:停止mysql, 我们机器是centos7 systemctl stop mysqld我们的是编译安装的, 执行下面命令: mysqld_safe –skip-grant-tables –user=mysql...
2018-05-23 16:18:10 1414
原创 Python2 和 python3 的 unicode 与 str 总结
python 的编码问题,应该每一个写python代码的童鞋都被困扰过。 别外python2 和 python3 的默认编码又不同,所以弄清楚还是有必要的,不然在网上搜一堆答案一个一个试,还是挺浪费时间的。 首先,python 2.x 的 strs = "我不是乱码"s是个字符串,它本身存储的就是字节码(bytes)。 那么这个字节码是什么格式的? 如果这段代码是在解释器上输...
2018-04-03 16:58:18 21438 1
原创 hive2.1.1 和 spark2.1.2
把hive-site.xml 配置copy到spark conf 配置目录下, 启动完spark2.12,用pyspark命令进入,会报 Caused by: org.apache.hadoop.hive.metastore.api.MetaException: Hive Schema version 1.2.0 does not match metastore’s schema ver
2017-11-07 15:23:35 1953
原创 elasticsearch-5.6.3 安装
下载地址 https://www.elastic.co/cn/downloads/elasticsearch 在downloads 后面会有zip, tar, deb,msi等多种格式,可根据需要下载,本人安装在centos上,选择了tar解压tar -zvxf elasticsearch-5.6.3.tar.gz 启动cd elasticsearch-5.6.3bin/elastic
2017-10-31 15:10:59 1866
原创 Hue 4.1 安装
先下载最新版本,http://gethue.com/hue-4-1-is-out/ 解压,进入目录hue-4.1.0,执行 make apps这个过程中会报很多 gcc 等各咱库找不到等错误,这种是没有安装相应的类库造成的,本人centos7,用yum 更新或安装相应的库之后,就可以。编译成功之后需要更新一下配置,包括hue配置和hadoop 配置 配置 Hue的配置集中在$HUE_HO
2017-10-26 09:35:19 7142 1
原创 ln修改cdh日志目录
遇到一个问题,因为装cdh的时候默认用的是系统/var/log目录,因为是虚拟实例,系统磁盘比较小只有50G,是随着系统的使用cm 上会报警说日志目录空间不足,如果写脚本定时删除,虽然可以解决当前的问题,但不是个好办法。另一个是直接修改配置文件,把所有的/var/log/* 手动改成/home/var/log/* 然后重启,但是这个感觉挺多的,手动改忒麻烦。 于是试把这个目录软链接到挂载的另一个
2017-10-16 10:53:43 2550 2
原创 Hive parquet 表查询报错
把数据存成parquet 格式后,建立对应的表,但是查询的时候会报下面的错误:Hive Runtime Error while processing row [Error getting row data with exception java.lang.UnsupportedOperationException: Cannot inspect org.apache.hadoop.io.LongWr
2017-09-12 16:23:05 8264 2
原创 json日志文件通过spark转存成parquet方案
收集的业务数据为json格式,准备利用parquet 格式重新存储到hive表,以节约空间并方便后续通过spark 或 hive 进行分析查询。 (示例代码是用python) 具体步骤是: 1. 用spark读取json数据后,得到一个dataframepath = '/xx/xxx/xxx.json'df = sqlContext.read.json(path)2. dataframe 经
2017-08-15 16:01:37 5105 5
原创 Kylin建立cube时报错
由于业务需要,搭了一个Kylin环境,但是在构建cube时,到第三步Extract Fact Table Distinct Columns会报错,execution.ExecutableManager:389 : job id:**************** from RUNNING to ERROR追踪到对应job的jobhistory,发现报如下错误:Error: java.lang.Clas
2017-07-31 18:23:37 1842
原创 爬虫登录知乎
要想爬取知乎的内容,必须先登录,网上现在的一些教程有些已经不能用了,这里将自己登录成功的代码记录下,供大家参考:#!/usr/bin/env python# -*- coding: utf-8 -*-import timefrom http import cookiejarimport requestsfrom bs4 import BeautifulSoup#从自己浏览器的request
2017-06-23 14:26:26 691
原创 python 参数 *与**
*args 表示任何多个无名参数,它是一个tuple**kwargs 表示关键字参数,它是一个dict注意:同时使用*args和**kwargs时,必须*args参数列要在**kwargs前, 像foo(a=1, b=’2’, c=3, a’, 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg” 下面
2017-06-21 14:16:11 681
原创 VMware共享文件夹Input/output error解决办法
vmware 虚拟机共享文件的时候遇到的一点问题。 挂载光盘后,进入挂载目录报: ls: reading directory .: Input/output error 其实这时候只需要重启系统再进入即可 。下面是官方挂载的步骤: http://pubs.vmware.com/workstation-12/index.jsp?lang=en&topic=/com.vmware.ws.usin
2017-06-14 09:49:46 10886
原创 centos 安装pip 报错
下载get-pip.py文件后 用python get-pip.py 安装报以下错误: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Collecting xxx Could not fetch URL https
2017-05-31 10:50:46 5232
原创 spark spark_deploy_mode配置详解
spark的配置里有个:spark_deploy_mode,可以是client 或cluster –deploy-mode: Whether to deploy your driver on the worker nodes (cluster) or locally as an external client (client) (default: client)注意这里的client和c
2017-05-27 14:26:01 8493
原创 Hive 用ROW_NUMBER取每组top n
今天用hive查数据时需要取每个分组的第一条数据,查了一发现hive 已经从0.11.0版本加入row_number函数,可以满足查询的需求。ROW_NUMBER() 是从1开始,按照顺序,生成分组内记录的序列 用法如下: ROW_NUMBER() OVER (partition BY COLUMN_A SORT BY COLUMN_B ASC/DESC) rnrn 是排序的别名执行时每
2017-04-26 19:05:59 13042
原创 impala 导出查询结果到文件
想用impala-shell 命令行中将查询的结果导出到本地文件,想当然的以为impala 和 hive 一样可以用 insert overwrite local directory ‘/home/test.txt’ select ……. 这样的命令导出到本地,执行了一下,发现impala 不支持这个。然后查了一下,发现impala-shell 可以像mysql 一样的方式导出查询结果到文件。在命令
2017-04-01 11:23:26 12623
原创 磁盘问题导致的Read-only file system
今天阿里云上的一个tomcat 重启时就报: touch: cannot touch `/xx/xx/catalina.out’: Read-only file systemchmod也是不好使的,因为已经用root用户登录了。 最后google了一下,有可能是磁盘出问题了,可以用fsck命令修复一下,重启试试。df 看了一下,这台服务器挂了两个硬盘。fsck -y /dev/xvdc1
2017-03-14 11:41:25 7766 1
原创 macbook 安装多版本jdk环境
本人macbook pro 本身装了jdk 1.8但是有时候别人的项目需要用jdk1.7,这就需要装多个版本的jdk,这时多版本的切换就是一个问题。方法如下: 1 . oracle官网下载jdk7 ,当然如果你要装其他版本也是一样的。 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-ja
2017-02-27 11:28:24 1371
原创 解决hive表注释乱码
环境 cdh5.8.3 + hive 1.1.0。 hive 元数据库用的是mysql创建表后,用desc 在hive中查看表信息,注释显示乱码。解决方案如下:1 进入mysql ,执行 show create database hive 查看hive 数据库当前编码,如果是utf8 则执行下面sqlalter database hive default character set latin1
2017-01-06 17:30:10 3951
转载 Redis-cli 命令
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法。下面将Redis提供的命令做一总结。官网命令列表:http://redis.io/commands (英文)1、连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证
2017-01-03 10:32:35 2675
原创 centos7 安装mysql5.7.17
从官网下载 mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar,解压后为一堆rpm 包,用 rpm -ivh mysql-*.rpm 安装的时候报以下错误: perl(JSON) is needed by mysql-community-test-5.7.17-1.el7.x86_64 [root@ddddd mysql]# rpm -ivh mysql-*.rp
2016-12-21 18:35:27 5506 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人