大数据离张分析 本书特色
本书基于开源Hadoop大数据生态圈的主流离线分析工具Hive和Pig,通过技术讲解和案例实战相结合的方式,介绍了海量数据离线分析的技术方法。本书内容主要包括Hive数据库表、基于HiveQL的常规操作、视图、索引和Pig等数据处理分析和基础工具知识,Hive函数、Pig Latin编程、ETL工具Sqoop和工作流引擎Oozie等相关高级技术,以及实际项目案例。
本书既可供学习大数据离线分析技术的本科和高职高专学生作为教材,也可供从事数据分析相关工作的技术人员作为参考资料。
大数据离张分析 内容简介
大数据离线处理目前技术上已经成熟。Hadoop框架是主流技术,使用 HDFS存储数据,使用 MapReduce做批量计算;需要数据仓库的存入 Hive,然后从Hive进行分析和展现;涉及复杂业务场景时,使用Sqoop、Pig、Oozie等工具会更灵活方便。本书综合了大数据离线分析所需的主流技术,并配以案例和丰富的辅助学习资源,足以满足广大学习者入门的需要。
大数据离张分析 目录
目录
绪论001
第1章走进Hive003
1.1Hive简介003
1.1.1Hive发展史003
1.1.2体系结构004
1.2Hive的安装部署005
1.2.1安装配置Hive005
1.2.2启动Hive008
1.3Hive命令009
1.3.1Hive命令行选项009
1.3.2CLI命令行界面010
1.3.3Hive中CLI命令的快速编辑011
1.3.4Hive中的脚本011
1.3.5dfs命令的执行013
1.4数据类型和文件格式014
1.4.1基本数据类型014
1.4.2集合数据类型015
1.4.3文本文件数据编码016
本章小结018
习题018
第2章HiveQL数据定义020
2.1数据库的创建与查询020
2.2数据库的修改与删除021
2.3创建表022
2.3.1管理表023
2.3.2外部表023
2.3.3查看表结构024
2.4修改表025
2.5删除表026大数据
离线分析
目录
2.6分区表027
2.6.1外部分区表028
2.6.2自定义表的存储格式030
2.6.3增加、修改和删除分区表031
2.7桶表031
本章小结032
习题033
第3章HiveQL数据操作034
3.1数据加载与导出034
3.1.1数据加载034
3.1.2数据导出036
3.2数据查询037
3.2.1SELECT ... FROM语句037
3.2.2WHERE语句040
3.2.3GROUP BY语句与HAVING语句042
3.2.4JOIN语句043
3.2.5ORDER BY语句和SORT BY语句046
3.2.6CLUSTER BY语句047
3.2.7UNION ALL语句048
3.3抽样查询048
3.3.1数据块抽样049
3.3.2分桶表的输入裁剪049
本章小结051
习题051
第4章HiveQL视图和索引052
4.1视图052
4.1.1创建视图052
4.1.2显示视图053
4.1.3删除视图054
4.2索引054
4.2.1创建索引055
4.2.2重建索引055
4.2.3显示索引056
4.2.4删除索引056
本章小结057
习题057
第5章Hive的函数058
5.1函数简介058
5.1.1发现和描述函数058
5.1.2调用函数059
5.1.3标准函数059
5.1.4聚合函数061
5.1.5表生成函数067
5.2用户自定义函数UDF068
5.3用户自定义聚合函数UDAF072
5.4用户自定义表生成函数UDTF074
5.5UDF的标注075
5.5.1定数性标注(deterministic)076
5.5.2状态性标注(stateful)076
5.5.3唯一性标注(distinctLike)076
本章小结076
习题077
第6章认识Pig078
6.1初识Pig078
6.1.1Pig是什么078
6.1.2Pig的应用场景078
6.1.3Pig的设计思想079
6.1.4Pig的发展简史080
6.2安装、运行Pig080
6.2.1安装Pig080
6.2.2运行Pig081
本章小结082
习题082
第7章Pig基础084
7.1命令行工具Grunt084
7.1.1输入Pig Latin脚本084
7.1.2使用HDFS命令085
7.1.3控制Pig087
7.2Pig数据类型088
7.2.1基本类型088
7.2.2复杂类型089
7.2.3NULL值089
7.2.4类型转换090
本章小结092
习题092
第8章Pig Latin编程093
8.1Pig Latin介绍093
8.1.1基础知识093
8.1.2输入和输出094
8.2关系操作095
8.2.1foreach语句096
8.2.2filter语句096
8.2.3group语句097
8.2.4order语句097
8.2.5distinct语句098
8.2.6join语句098
8.2.7limit语句098
8.2.8sample语句099
8.2.9parallel语句099
8.3用户自定义函数UDF101
8.3.1注册UDF102
8.3.2define命令和UDF103
8.3.3调用Java函数104
8.4开发工具104
8.4.1describe104
8.4.2explain105
8.4.3illustrate107
8.4.4Pig统计信息109
8.4.5M/R作业状态信息111
8.4.6调试技巧112
本章小结113
习题113
第9章数据ETL工具Sqoop115
9.1安装Sqoop115
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导出和SequenceFile123
本章小结123
习题124
第10章Hadoop工作流引擎Oozie125
10.1Oozie是什么125
10.2Oozie的安装125
10.3Oozie的编写与运行131
10.3.1Workflow组件131
10.3.2Coordinator组件133
10.3.3Bundle组件134
10.3.4作业的部署与执行134
10.3.5向作业传递参数136
10.4Oozie控制台136
10.4.1控制台界面136
10.4.2获取作业信息137
10.5Oozie的高级特性139
10.5.1自定义Oozie Workflow139
10.5.2使用Oozie JavaAPI141
本章小结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
参考文献