
数据分析师的Hive入门-进阶-实战教程
文章平均质量分 85
本专栏是为想从事数据分析师岗位的同学提供的一套Hive从零基础到实战系统教程,也是本人工作学习的总结,分为入门篇、进阶篇、实战篇。
入门篇讲解Hive基础语句,进阶篇讲解各类函数应用,实战篇真实模拟互联网公司数据分析师的数据开发需求,旨在让读者掌握真正的数据开发实战能力。
风影楼前
无财作力,少有斗智,既饶争时
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Hive零基础从入门到实战》连载目录
前言本文是Hive零基础从入门到实战系列的传送门,会持续更新直至本系列完结~(一)入门篇01. 环境搭建02. Linux系统简单操作(上)03. Linux系统简单操作(中)04. Linux系统简单操作(下)05. Hive常用数据类型06. HiveQL:数据库操作07. HiveQL:表操作(上)08. HiveQL:表操作(下)09. 如...原创 2019-07-14 21:14:51 · 5625 阅读 · 4 评论 -
Hive零基础从入门到实战 实战篇(八)例行化报表前置依赖检查
目录前言1. 前置依赖表检查脚本2. 进行前置依赖检查的例行化脚本前言如果你所在的公司没有一套数据调度管理系统的话,那么你的例行化脚本大概率会经常因为脚本中的表数据生成延时,而导致报表数据错误。此时就需要大量的时间进行数据回溯,下面本文就介绍一套hql脚本前置依赖表检查的流程来解决这个问题。1. 前置依赖表检查脚本1) 建立一个partition_table.tx...原创 2020-01-21 13:38:26 · 799 阅读 · 1 评论 -
Hive零基础从入门到实战 实战篇(七)构建自动更新的例行化BI报表
目录前言1. 新建表格2. 编写shell脚本3. 设置crontab4. 使用可视化工具连接mysql中的表前言互联网公司的数据分析师一般都兼任着临时取数和构建例行化BI报表的职责。临时取数不必多说,但是有一些数据是需要每日产出的,逻辑不变,只是时间改一下,这种数据就最好制作成自动更新的例行化BI报表,以节约人力。本文就介绍一下构建一张例行化BI报表的整个流程。...原创 2020-01-16 21:15:19 · 693 阅读 · 4 评论 -
Hive零基础从入门到实战 实战篇(六)计算用户流失周期
目录前言1. 如何定义用户流失周期2. 计算每天的回访率3. 计算每周的回访率前言每个APP都会有一个用户流失周期,如果能够算出一个较为科学的流失周期长度,那么就可以更有针对性的对即将流失的或者已经流失的高价值用户进行运营,从而提升整个APP的留存率,进而提高APP的DAU。本文介绍一下使用hql如何计算用户流失周期。1. 如何定义用户流失周期流失周期是指用户...原创 2020-01-14 21:12:12 · 1366 阅读 · 0 评论 -
Hive零基础从入门到实战 实战篇(五)计算连续登陆用户数
目录前言1. 取出每个用户在1月的连续登陆天数2. 计算1月至少连续登陆过7天的用户数前言日常需求中我们经常会碰到需要取出连续N天进行某种操作的用户,本文介绍一个套路处理此类需求。下文用到的日活表字段含义见实战篇(二)。1. 取出每个用户在1月的连续登陆天数WITH activeAS (--每天的活跃用户,去重 SELECT day ...原创 2020-01-09 20:00:21 · 845 阅读 · 0 评论 -
Hive零基础从入门到实战 实战篇(四)计算用户分布
目录前言1. DAU中的新老用户分布2. 各平台用户分布3. 各渠道用户分布4. 各年龄段用户分布5. 用户性别分布6. 购买次数的用户分布前言在日常提数中,经常会需要各类用户的分布,比如:DAU(日活跃用户)中的新老用户分布 各平台用户分布 各渠道用户分布 各年龄段用户分布 用户性别分布 某种行为的用户分布(购买1次的有多少人,2次的有多少...原创 2020-01-08 20:11:09 · 1534 阅读 · 6 评论 -
Hive零基础从入门到实战 实战篇(三)计算留存率
目录前言1. 提数版2. 例行化报表版前言在互联网公司中留存率是一个被普遍应用的指标,各种用户群体都可以计算他的留存率,比如新增用户留存率、活跃用户留存率、使用了某个APP功能的用户留存率等等。留存用户:使用网站或App,经过一段时间后,仍然在使用的用户,即有多少用户留下来(这里的使用可以是访问网站,也可以是打开App)用户留存率:留存用户数占当时新增用户数...原创 2019-12-31 17:49:34 · 1418 阅读 · 0 评论 -
Hive零基础从入门到实战 实战篇(二)互联网公司常用业务表
目录1. 新增用户表2. 用户登录表3. 用户属性表4. 商品属性表5.行为表(用户使用app的行为埋点记录表)6.订单流水表本文会介绍6张互联网公司的常用业务表,同时在虚拟机中建好表格,制作若干条数据插入表中。这6张表分别是新增用户表,用户登录表,用户属性表,商品属性表,行为表(用户使用app的行为埋点记录表),订单流水表。在入门篇已经建过其中的新增用户表和...原创 2019-11-29 21:15:31 · 758 阅读 · 1 评论 -
Hive零基础从入门到实战 实战篇(一)数据仓库分层及命名规范
目录前言1. 目的2. 表命名规范2.1 数据分层代码命名规范2.2 周期标志代码命名约定2.3 应用示例3. 字段命名规范4. 脚本规范前言本文是针对Hive数据仓库设计提出的一些简单规范,供大家参考。1. 目的建立命名规范的目的是为表、列建立有意义的、清晰的、简明的和独特的名字。一个完善的命名标准可以提高数据仓库的逻辑和物理模型的...原创 2019-10-24 12:39:27 · 1797 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(一)环境搭建
目录前言1.Hive是什么2.Hive学习环境搭建前言作为一个数据分析师,操作Hive提取数据已经成为了一个必备技能,但对数据分析师来说,查询才是做的最多的操作,毕竟使用工具是为了完成分析。所以我认为数据分析师是不需要掌握Hive具体的底层架构、安装运维、甚至是运行原理等知识的,毕竟我们不是运维也不是大数据开发工程师,实际工作中也确实用不到这些知识,所以我总结的知识点主要...原创 2019-04-05 21:11:23 · 13662 阅读 · 23 评论 -
Hive零基础从入门到实战 入门篇(二)Linux系统简单操作(上)
目录前言1.初识Linux2.Linux常用命令2.1 访问查看2.1.1 查看当前所在目录路径2.1.2 查看当前目录里有哪些文件2.1.3 查看指定目录里有哪些文件2.1.4 强迫症患者福音:清屏前言因为Hive是安装在Linux系统中,所以本文来介绍一些数据分析师会常用到的Linux基本命令和操作。在实际工作中,我们会通过Xshell远程连接公司机房的...原创 2019-04-06 16:51:25 · 11709 阅读 · 1 评论 -
Hive零基础从入门到实战 入门篇(三)Linux系统简单操作(中)
目录前言2.2文件的基本操作2.2.1 创建文件2.2.2 创建目录2.2.3拷贝文件2.2.4拷贝目录2.2.5 剪切文件(目录)2.2.6删除文件(目录)2.2.7 查看文件2.2.8 编辑文件前言本文将会承接上文,继续介绍linux基本操作命令,上文链接:Linux系统简单操作(上)2.2文件的基本操作2.2.1 创建文...原创 2019-04-07 18:36:58 · 11261 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(四)Linux系统简单操作(下)
目录前言3.Shell编程3.1建立一个脚本3.2 Shell命令3.2.1 Unix命令3.2.2管道、重定向3.2.3流程控制4.crontab定时任务4.1 操作命令4.2crontab文件语法4.3 crontab实例前言本文承接上文,继续介绍Linux常用基本操作,上文链接:Linux系统简单操作(中),本文将介绍使用Hive时...原创 2019-04-09 14:11:20 · 10810 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(五)Hive常用数据类型
目录前言1. 常用基本数据格式2. 常用的集合数据类型3. Hive和其他SQL的数据格式有何区别4. TIMESTAMP5. 数据类型转换5.1 显式转换5.2 隐式转换前言掌握了前三篇博文的Linux基础操作后,本节我们正式开始Hive的学习,首先来熟悉一下Hive中的常用数据格式。1. 常用基本数据格式数据类型 长度 范围及举...原创 2019-04-10 13:50:28 · 11043 阅读 · 5 评论 -
Hive零基础从入门到实战 入门篇(六)HiveQL:数据库操作
目录前言1. 查看Hive中当前有哪些数据库2. 创建数据库3. 通过正则匹配筛选数据库4. 创建同名数据库抛出错误5. 查询数据库属性5.1 普通查询5.2 简略写法5.3 额外查询5.4 如建库时增加备注可在此查看6. 使用数据库7. 显示当前所在数据库8. 删除数据库8.1 普通删除8.2 强制删除前言首先按照入门篇(一)环...原创 2019-04-12 10:18:18 · 11197 阅读 · 1 评论 -
Hive零基础从入门到实战 入门篇(七)HiveQL:表操作(上)
目录前言1. 最简单的建表语句2. 查看表结构3. 删除表4. 建表时为字段添加注释5. 建表可选项IF NOT EXITS6.建表可选项 EXTERNAL6.1 内部表6.2 外部表7. 建分区表8. 其余建表可选项9. 查询既有表的建表语句前言熟悉了Hive的库操作后,本文来介绍Hive中的的建表、删表操作。1. 最简单...原创 2019-04-20 09:57:31 · 12131 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(八)HiveQL:表操作(下)
目录前言1. 表的重命名2. 重命名字段、数据类型、注释3. 增加列4. 删除、替换列5. 删除分区6. 修改表的存储路径前言本文主要介绍Hive中修改表的操作。1. 表的重命名命令如下:alter table oldname rename to new_name;下面我们将上文中建好的表t_od_use_cnt重命名为t_o...原创 2019-04-25 09:31:33 · 11444 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(九)如何高效使用notepad编辑HQL
目录前言1. 安装32位的7.4版本notepad2. 设置背景及字体3. 编辑3.1 复制当前文件路径、文件名3.2 缩进3.3 转换文本大小写3.4 行操作3.5 注释3.6 选择语言3.7 函数自动补齐3.8 空格操作3.9 列操作3.10 常用简单操作4. 查找与替换5. 视图5.1 全屏模式5.2 便签模式...原创 2019-05-02 16:19:07 · 13438 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十)HiveQL:将csv文件中的数据导入Hive
目录前言1. 数据装载 Load1.1filepath1.2 LOCAL1.3OVERWRITE1.4 PARTITION1.5 举例前言本文介绍如何将文件中的数据导入Hive表中。1. 数据装载 Load将文件中的数据导入Hive中要使用Load关键字,具体完整语法如下,[ ]中的均为可选项:load data [local...原创 2019-05-10 09:30:34 · 11699 阅读 · 2 评论 -
Hive零基础从入门到实战 入门篇(十一)在.hiverc文件中配置常用参数
目录前言1. 在~目录创建一个.hiverc文件2. 输入常用命令或参数3. 启动Hive验证是否生效前言在home目录~中创建一个隐藏文件.hiverc,然后在其中配置常用参数或命令,之后Hive每次启动时会自动加载这个文件中的内容。1. 在~目录创建一个.hiverc文件#进入home目录cd#创建.hiverc文件vim .hiver...原创 2019-05-15 09:02:19 · 10966 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十二)Hive中的命令运行方式
目录前言1. Hive中的一次使用命令: hive -e2. 执行文件中的Hive命令: hive -f3.在shell脚本中使用hive -e命令前言Hive中的命令运行方式常见的有4种,分别是:直接在命令行界面,也就是CLI上运行脚本 执行一句或多句命令,不进入CLI hive -e "命令" 执行文件中一句或多句...原创 2019-05-17 09:20:15 · 11140 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十三)HiveQL:SELECT …… FROM …… 语句
目录前言1.查询表中的的内容1.1 Hive严格模式2. limit :限制查询返回行数3. 列四则运算4. 列别名前言本文来介绍HQL中最基础的查询语句:SELECT ……FROM……语句。这部分其实和其他SQL方言的语法并无区别,但也会介绍一些Hive独有的参数设置内容。1.查询表中的的内容查询指定的某一列或某几列,命令如下:SE...原创 2019-05-29 09:40:59 · 12912 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十四) HiveQL:WHERE 语句
目录前言1. 基本语法2. 谓词操作符详解3. AND、OR4.LIKE、RLIKE、REGEXP前言SELECT语句用于选取字段,本文我们来介绍用于过滤条件的WHERE语句。两者结合使用可以查找到符合过滤条件的记录。在介绍WHERE语句之前我们已经上文的一个简单例子中使用过它了。之前都是假定大家是见过这样的语句的,现在我们将更多地探讨一些细节。WHER...原创 2019-06-03 09:23:35 · 11241 阅读 · 4 评论 -
Hive零基础从入门到实战 入门篇(十五) HiveQL:聚合函数、GROUP BY语句、HAVING语句
目录前言1. 聚合函数2. GROUP BY语句2.1 去重2.2 与聚合函数一起使用2.2.1count(*)2.2.2count(col)2.2.3count(distinct col)2.2.4 sum(col)2.2.5 avg(col)2.2.6 min(col)2.2.7 max(col)2.2.8 GROUP BY字...原创 2019-06-05 20:22:47 · 13920 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十六) HiveQL:ORDER BY语句
目录前言1. 基本语法2. 参数设置3. 举例前言Hive中ORDER BY语句和其他的SQL方言中的定义是一样的,会对查询结果集执行一个全局排序。这也就是说会有一个所有的数据都通过一个reduce进行处理的过程。对于大数据集,这个过程可能会消耗漫长的时间来执行,甚至会执行失败。不过这点并不用太过担心,因为大多数时候都不会有需求要对大数据集进行paixu用户可以...原创 2019-06-12 20:11:02 · 10875 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十七) HiveQL:语句顺序及逻辑执行顺序
目录前言1. 编写HiveQL的语句顺序2.HiveQL的逻辑执行顺序前言了解HiveQL的语句顺序及逻辑执行顺序可以使我们编写效率更高的代码,并且减少错误,下面我们来分别详细介绍。1. 编写HiveQL的语句顺序所有语句的编写顺序为:select … from … where … group by … having … order by …具体语法...原创 2019-06-13 14:03:08 · 11170 阅读 · 2 评论 -
Hive零基础从入门到实战 入门篇(十八) HiveQL:子查询与WITH AS 语句
目录前言1. 子查询1.1 在FROM后使用子查询语法1.1.1语法1.1.2 举例1.2 在WHERE后使用子查询1.2.1 语法1.2.2 举例2.WITH AS语句2.1 语法2.2 举例前言本文主要介绍Hive中子查询与WITH AS 语句的用法,为后续多表查询的介绍奠定基础。1. 子查询1.1 在FROM后...原创 2019-06-15 18:46:38 · 11676 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(十九) HiveQL:JOIN语句
目录前言1. 内连接 INNER JOIN1.1 语法1.2 举例2.外连接之 LEFT OUTER JOIN2.1 语法2.2 举例2.2.1 多个结果做关联展示2.2.2 从左表中去掉和右表有交集的部分3.外连接之 RIGHT OUTER JOIN3.1 语法4.外连接之 FULL OUTER JOIN4.1 语法5. 总结...原创 2019-06-18 20:25:42 · 10861 阅读 · 7 评论 -
Hive零基础从入门到实战 入门篇(二十) HiveQL:UNION ALL语句
前言上篇博客入门篇(十九)介绍的JOIN语句是将多个表的列 ‘横向合并’,本篇要介绍的UNION ALL语句则是将多个表的列纵向合并,相当于将多个表的数据直接摞在一起,下面我们来详细介绍UNION ALL语句的用法。1. 语法1.1 Hive1.2.0后的语法Hive1.2.0之后版本的语法如下:SELECT * FROM aUNION [ALL] SELECT...原创 2019-06-20 19:29:26 · 9923 阅读 · 0 评论 -
Hive零基础从入门到实战 入门篇(二十一) HiveQL:数据插入
目录前言1. CREATE TABLE 表名 AS SELECT……2. INSERT2.1 无分区表插入数据2.2 分区表插入数据2.2.1静态分区插入2.2.2 动态分区插入2.2.3静态分区和动态分区混合使用前言我们在入门篇(十)中介绍了如何将文件中的数据导入一个表中。但实际工作中,更常用的数据插入操作是:将查询出的数据插入一个表中。实...原创 2019-07-04 13:41:09 · 2843 阅读 · 0 评论 -
Hive零基础从入门到实战 进阶篇(一) HiveQL:常用数学函数
目录前言1. 常用数学函数表2. 函数功能演示2.1 四舍五入 round2.2 向下取整 floor2.3 向上取整 ceil2.4 随机数 rand2.5 求n次幂 pow2.6求平方根sqrt2.7 求绝对值abs前言本篇开始进入Hive进阶篇的总结,进阶篇计划介绍Hive的各类函数以及调优。在入门篇(十五)曾总结过一些常用的...原创 2019-07-05 15:05:49 · 2722 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(二) HiveQL:常用字符串函数
目录前言1. 常用的简单字符串函数表2. 函数功能演示2.1 连接字符串concat2.2 指定分隔符连接字符串concat_ws2.3 截取字符串substr2.4 按指定分隔符分割字符串 split2.5 格式化数字 format_number2.6字符串长度 length2.7转换小写 lower2.8转换大写 upper2....原创 2019-07-08 19:26:40 · 2546 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(三) HiveQL:JSON解析函数
目录前言1. 什么是JSON格式2. 解析JSON字符串的一个字段 get_json_object3. 同时解析JSON字符串的多个字段 json_tuple前言在工作中我们会经常遇到JSON格式的日志数据,本文来详细介绍在Hive中解析JSON字符串的函数:1.get_json_object2.json_tuple1. 什么是JSON格式...原创 2019-07-09 13:31:19 · 2959 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(四) HiveQL:URL解析函数
目录前言1. 什么是URL2. 解析URL单个元素的函数:parse_url3. 同时解析URL多个元素的函数:parse_url_tuple前言在工作中,我们除了JSON格式还会经常遇到URL格式的日志数据,本文来详细介绍在Hive中解析URL的函数:1.parse_url2.parse_url_tuple1. 什么是URL在WWW网页...原创 2019-07-10 21:09:38 · 2375 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(五) HiveQL:正则抽取、替换字符串函数
目录前言1. 正则表达式简介1.1 定义1.2 字符构成1.3 速记指南2.正则抽取字符串函数regexp_extract3.正则替换字符串函数regexp_replace4. 不同运行环境下的转义处理前言本文我们来详细介绍一下正则表达式,以及在Hive中通过正则匹配抽取、替换字符串的函数:1.regexp_extract2....原创 2019-07-11 21:13:35 · 2845 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(六) HiveQL:日期函数
目录前言1. 日期函数表2. 函数功能演示2.1 时间戳函数 unix_timestamp2.2 秒时间戳转换为可读时间字符串 from_unixtime2.3 返回秒值时间戳的日期 to_date2.4 时间戳字符串的年、月、日、时、分、秒2.5 日期在当年的第几周 weekofyear2.6 开始时间到结束时间相差的天数 datediff2.7 日...原创 2019-07-13 14:22:39 · 1962 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(七) HiveQL:条件函数
目录前言1. 条件函数表2. 函数功能演示2.1 空值判断函数2.1.1nvl(T value, T default_value)2.1.2isnull( a )2.1.3isnotnull ( a )2.1.4 coalesce(T v1, T v2, ...)2.2 条件判断函数2.2.1if函数2.2.2 CASE WHEN TH...原创 2019-07-18 09:21:51 · 1807 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(八) HiveQL:方差、协方差函数
目录前言1. 方差、协方差函数表2. 名词解释2.1 方差、标准差2.2 无偏样本方差、无偏样本标准差2.3总体协方差、样本协方差3. 函数功能演示3.1 方差与无偏方差3.2 总体协方差与样本协方差前言在入门篇(十五)中我们已经介绍过常用的简单聚合函数,后续几篇博文我们会逐一介绍其他功能更加强大的聚合函数。本文来介绍Hive中的方差、标准...原创 2019-07-26 09:16:51 · 3100 阅读 · 2 评论 -
Hive零基础从入门到实战 进阶篇(九) HiveQL:相关系数函数
目录前言1. 什么是相关系数1.1 定义1.2 性质1.3 适用范围1.4 缺点2. 相关系数函数2.1 函数功能2.2 举例前言本文来介绍相关系数的含义以及Hive中如何使用计算相关系数的函数。1. 什么是相关系数1.1 定义相关系数(Correlation coefficient)是最早由统计学家卡尔·皮尔逊设计的统计指...原创 2019-08-01 09:30:42 · 3191 阅读 · 1 评论 -
Hive零基础从入门到实战 进阶篇(十) HiveQL:分位数(中位数)函数
目录前言1. 什么是分位数2. 分位数函数表3.函数功能演示3.1 分位数函数: percentile3.1.1 percentile(BIGINT col, p)3.1.2 percentile(BIGINT col, array(p1 [, p2]…))3.2 近似分位数函数: percentile_approx3.2.1percentile_...原创 2019-08-01 20:09:07 · 7414 阅读 · 1 评论