绪论 1
第1章 走进Hive 3
1.1 Hive简介 3
1.1.1 Hive发展史 3
1.1.2体系结构 4
1.2 Hive的安装部署 5
1.2.1安装配置Hive 5
1.2.2启动Hive 8
1.3 Hive命令 9
1.3.1 Hive命令行选项 9
1.3.2 CLI命令行界面 10
1.3.3 Hive中CLI命令的快速编辑 11
1.3.4 Hive中的脚本 11
1.3.5 dfs命令的执行 13
1.4数据类型和文件格式 14
1.4.1基本数据类型 14
1.4.2集合数据类型 15
1.4.3文本文件数据编码 16
本章小结 18
习题 18
第2章HiveQL数据定义 20
2.1数据库的创建与查询 20
2.2数据库的修改与删除 21
2.3创建表 22
2.3.1管理表 23
2.3.2外部表 23
2.3.3查看表结构 24
2.4修改表 25
2.5删除表 26
2.6分区表 27
2.6.1外部分区表 28
2.6.2自定义表的存储格式 30
2.6.3增加、修改和删除分区表 31
2.7桶表 31
本章小结 32
习题 33
第3章HiveQL数据操作 34
3.1数据加载与导出 34
3.1.1数据加载 34
3.1.2数据导出 36
3.2数据查询 37
3.2.1 SELECT...FROM语句 37
3.2.2 WHERE语句 40
3.2.3 GROUP BY语句与HAVING语句 42
3.2.4 JOIN语句 43
3.2.5 ORDER BY语句和SORT BY语句 46
3.2.6 CLUSTER BY语句 47
3.2.7 UNION ALL语句 48
3.3抽样查询 48
3.3.1数据块抽样 49
3.3.2分桶表的输入裁剪 49
本章小结 51
习题 51
第4章HiveQL视图和索引 52
4.1视图 52
4.1.1创建视图 52
4.1.2显示视图 53
4.1.3删除视图 54
4.2索引 54
4.2.1创建索引 55
4.2.2重建索引 55
4.2.3显示索引 56
4.2.4删除索引 56
本章小结 57
习题 57
第5章Hive的函数 58
5.1函数简介 58
5.1.1发现和描述函数 58
5.1.2调用函数 59
5.1.3标准函数 59
5.1.4聚合函数 61
5.1.5表生成函数 67
5.2用户自定义函数UDF 68
5.3用户自定义聚合函数UDAF 72
5.4用户自定义表生成函数UDTF 74
5.5 UDF的标注 75
5.5.1定数性标注(deterministic) 76
5.5.2状态性标注(stateful) 76
5.5.3唯一性标注(distinctLike) 76
本章小结 76
习题 77
第6章 认识Pig 78
6.1初识Pig 78
6.1.1 Pig是什么 78
6.1.2 Pig的应用场景 78
6.1.3 Pig的设计思想 79
6.1.4 Pig的发展简史 80
6.2安装、运行Pig 80
6.2.1安装Pig 80
6.2.2运行Pig 81
本章小结 82
习题 82
第7章Pig基础 84
7.1命令行工具Grunt 84
7.1.1输入Pig Latin脚本 84
7.1.2使用HDFS命令 85
7.1.3控制Pig 87
7.2 Pig数据类型 88
7.2.1基本类型 88
7.2.2复杂类型 89
7.2.3 NULL值 89
7.2.4类型转换 90
本章小结 92
习题 92
第8章Pig Latin编程 93
8.1 Pig Latin介绍 93
8.1.1基础知识 93
8.1.2输入和输出 94
8.2关系操作 95
8.2.1 foreach语句 96
8.2.2 filter语句 96
8.2.3 group语句 97
8.2.4 order语句 97
8.2.5 distinct语句 98
8.2.6 join语句 98
8.2.7 limit语句 98
8.2.8 sample语句 99
8.2.9 parallel语句 99
8.3用户自定义函数UDF 101
8.3.1注册UDF 102
8.3.2 define命令和UDF 103
8.3.3调用Java函数 104
8.4开发工具 104
8.4.1 describe 104
8.4.2 explain 105
8.4.3 illustrate 107
8.4.4 Pig统计信息 109
8.4.5 M/R作业状态信息 111
8.4.6调试技巧 112
本章小结 113
习题 113
第9章 数据ETL工具Sqoop 115
9.1安装Sqoop 115
9.2数据导入 117
9.2.1导入实例 118
9.2.2导入数据的使用 119
9.2.3数据导入代码生成 120
9.3数据导出 121
9.3.1导出实例 121
9.3.2导出和SequenceFile 123
本章小结 123
习题 124
第10章Hadoop工作流引擎Oozie 125
10.1 Oozie是什么 125
10.2 Oozie的安装 125
10.3 Oozie的编写与运行 131
10.3.1 Workflow组件 131
10.3.2 Coordinator组件 133
10.3.3 Bundle组件 134
10.3.4作业的部署与执行 134
10.3.5向作业传递参数 136
10.4 Oozie控制台 136
10.4.1控制台界面 136
10.4.2获取作业信息 137
10.5 Oozie的高级特性 139
10.5.1自定义Oozie Workflow 139
10.5.2使用Oozie JavaAPI 141
本章小结 143
习题 143
第11章 离线计算实例 145
11.1微博历史数据分析 145
11.1.1数据结构 145
11.1.2需求分析 146
11.1.3需求实现 146
11.2电商销售数据分析 160
11.2.1数据结构 160
11.2.2需求分析 161
11.2.3需求实现 161
本章小结 169
参考文献 170