第1章 Hive介绍 1
1.1 Hive工作原理 1
1.2 Hive的数据类型 2
1.3 Hive的特点 4
1.4 本章小结 4
第2章 Hive架构 5
2.1 Hive用户接口 5
2.1.1 Hive CLI 5
2.1.2 HWI 6
2.1.3 Thrift服务 10
2.2 Hive元数据库 11
2.2.1 Hive元数据表结构 11
2.2.2 Hive元数据的三种存储模式 12
2.3 Hive数据存储 13
2.4 Hive文件格式 14
2.4.1 TextFile格式 14
2.4.2 SequenceFile格式 14
2.4.3 RCFile格式 14
2.4.4 ORC格式 15
2.5 本章小结 16
第3章 HiveQL表操作 17
3.1 内部表 17
3.2 外部表 21
3.3 分区表 23
3.3.1 静态分区 25
3.3.2 动态分区 27
3.4 桶表 28
3.5 视图 30
3.5.1 使用视图降低查询复杂度 31
3.5.2 使用视图来限制基于条件过滤的数据 32
3.5.3 动态分区中的视图和map类型 32
3.6 本章小结 33
第4章 HiveQL数据操作 34
4.1 装载数据到表中 34
4.2 通过查询语句向表中插入数据 35
4.3 单个查询语句中创建并加载数据 37
4.4 导出数据 37
4.5 本章小结 38
第5章 HiveQL查询 39
5.1 SELECT...FROM语句 39
5.1.1 使用正则表达式来指定列的 40
5.1.2 使用列值进行计算 41
5.1.3 算述运算符 41
5.1.4 使用函数 42
5.1.5 LIMIT语句 46
5.1.6 列别名 46
5.1.7 嵌套SELECT语句 46
5.1.8 CAS...WHEN...THEN语句 46
5.2 WHERE语句 47
5.2.1 谓词操作符 48
5.2.2 关于浮点数比较 49
5.2.3 LIKE和RLIKE 50
5.3 GROUP BY语句 50
5.4 JOIN语句 51
5.4.1 INNER JOIN 51
5.4.2 JOIN优化 53
5.4.3 LEFT OUTER JOIN 53
5.4.4 RIGHT OUTER JOIN 54
5.4.5 FULL OUTER JOIN 54
5.4.6 LEFT SEMI JOIN 54
5.4.7 笛卡尔积JOIN 55
5.4.8 map-side JOIN 55
5.5 ORDER BY和SORT BY 56
5.6 含有SORT BY的DISTRIBUTE BY 57
5.7 CLUSTER BY 57
5.8 类型转换 58
5.9 抽样查询 58
5.9.1 数据块抽样 59
5.9.2 分桶表的输入裁剪 59
5.10 UNION ALL 60
5.11 本章小结 61
第6章 Hive配置与应用 62
6.1 Hive安装与配置 62
6.2 Hive访问 65
6.3 Hive基本操作 67
6.3.1 Hive CLI命令行操作讲解 67
6.3.2 Hive的数据类型 71
6.3.3 Hive表的创建 73
6.3.4 Hive数据导入 74
6.3.5 Hive数据导出 76
6.4 Hive数据定义 77
6.4.1 内部表与外部表的区别 77
6.4.2 内部表建立 77
6.4.3 外部表建立 79
6.4.4 表的分区与桶的建立 81
6.4.5 删除表与修改表结构 87
6.4.6 HiveQL简单查询语句 88
6.4.7 WHERE语句 91
6.5 Hive高级查询 91
6.6 本章小结 98
第7章 Hive自定义函数 99
7.1 UDF 99
7.2 UDTF 102
7.3 UDAF 105
7.4 Hive函数综合案例 109
7.4.1 Row_ Sequence实现列自增长 109
7.4.2 列转行和行转列 111
7.5 本章小结 114
第8章 Hive综合案例(一) 115
8.1 项目背景与数据情况 115
8.2 关键指标KPI 116
8.3 开发步骤分析 116
8.4 表结构设计 117
8.5 数据清洗过程 118
8.5.1 定期上传日志至HDFS 118
8.5.2 编写MapReduce程序清理日志 119
8.5.3 定期清理日志至HDFS 121
8.5.4 查询清洗前后的数据 122
8.6 数据统计分析 122
8.6.1 借助Hive进行统计 122
8.6.2 使用HiveQL统计关键指标 123
8.7 本章小结 124
第9章 Hive综合案例(二) 125
9.1 项目应用场景 125
9.2 设计与实现 125
9.2.1 日志格式分析 125
9.2.2 建立表 125
9.2.3 程序设计 126
9.2.4 编码实现 127
9.2.5 运行并测试 129
9.3 本章小结 129
第10章 Hive综合案例(三) 130
10.1 应用场景 130
10.2 设计与实现 130
10.2.1 数据处理 130
10.2.2 使用Hive对清洗后的数据进行多维分析 132
10.2.3 在MySQL中建立数据库 136
10.2.4 使用sqoop把分析结果导入到MySQL中 136
10.2.5 程序设计与实现 138
10.2.6 运行并测试 138
10.3 本章总结 139
附录 140