新書推薦:
《
便宜货:廉价商品与美国消费社会的形成
》
售價:NT$
352.0
《
读书是一辈子的事(2024年新版)
》
售價:NT$
352.0
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:NT$
500.0
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:NT$
500.0
《
药食同源中药鉴别图典
》
售價:NT$
305.0
《
设计中的比例密码:建筑与室内设计
》
售價:NT$
398.0
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:NT$
254.0
|
編輯推薦: |
大数据离线处理目前技术上已经成熟。Hadoop框架是主流技术,使用 HDFS存储数据,使用 MapReduce做批量计算;需要数据仓库的存入 Hive,然后从Hive进行分析和展现;涉及复杂业务场景时,使用Sqoop、Pig、Oozie等工具会更灵活方便。本书综合了大数据离线分析所需的主流技术,并配以案例和丰富的辅助学习资源,足以满足广大学习者入门的需要。
|
內容簡介: |
本书基于开源Hadoop大数据生态圈的主流离线分析工具Hive和Pig,通过技术讲解和案例实战相结合的方式,介绍了海量数据离线分析的技术方法。本书内容主要包括Hive数据库表、基于HiveQL的常规操作、视图、索引和Pig等数据处理分析和基础工具知识,Hive函数、Pig Latin编程、ETL工具Sqoop和工作流引擎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定数性标注deterministic076
5.5.2状态性标注stateful076
5.5.3唯一性标注distinctLike076
本章小结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.5MR作业状态信息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
参考文献
|
內容試閱:
|
前言
为什么要写这本书
数据时代Data Time的到来使大数据技术得到了学术界和产业界的重视,并获得了快速发展。随着全球数字化、移动互联网和物联网在各行各业的应用发展,使累积的数据量越来越大。诸多先行的企业、行业和国家已经证明,利用大数据技术可以更好地服务客户、发现新商业机会、扩大新市场、转换新动能。
当前正处于大数据产业发展的前期,市场需求日趋旺盛,但是人才缺口巨大,技术支撑严重不足,大数据专业知识的广泛传播非常紧迫。
本书基于教育部2016年产学合作协同育人项目普开数据教学内容和课程体系改革项目,作为项目成果公开出版。北京普开数据技术有限公司在多届全国高校教师培训工作中起到了种子教师培养的作用,本书编者都是在培训过程中结识并展开合作的;同时在本书编写过程中,公司给予了强力支持,在此表示感谢。
读者对象
1 学习大数据离线分析的本科和高职高专学生。
2 从事数据分析相关工作的技术人员。
如何阅读本书
本书主要介绍了基于Hadoop生态圈的大数据离线处理技术。主流的大数据离线分析技术一般包括: 使用HDFS存储数据,使用MapReduce做批量计算;需要数据仓库的存入 Hive,从Hive进行分析和展现;涉及复杂业务场景时,使用Sqoop、Pig、Oozie等工具会更加灵活方便。
本书略过了HDFS存储数据、MapReduce批量计算的相关内容。HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据。该部分内容为Hadoop基础知识,读者如果需要深入学习,可以参考其他书籍或材料如清华大学出版社2016年6月出版的《大数据技术基础》。
本书内容是重点围绕Hive数据仓库展开的,Hive在Hadoop上提供了SQL接口,开发人员只需要编写简单易上手的SQL语句就可以实现创建表、删除表、加载数据、下载数据、分析数据等功能,读者可以从目录的章节名称中快速检索并学习各方面的知识。
同时,本书针对离线分析过程中的工程任务场景还提供了一些辅助工具介绍。Sqoop解决在Hadoop和关系数据库之间传递数据的问题,如果读者有这方面的基础或对其他ETL工具更熟悉,可以略过。Pig为大型数据集的处理提供了更高层次的抽象,以更灵活方便的方法实现加载数据、表达转换数据和存储最终结果,有这方面基础或暂无需求的读者可以略过书中第6、7章。Oozie实现对系统中多任务的管理,当平台中任务数量很大、需要维大数据
离线分析
前言
护和运行时,Oozie可以方便地完成调度监控这些任务的功能,对于仅处理简单任务场景的读者可以略过该部分内容。
偏重实践操作是本书的特色,书中所讲内容基本都配有实践操作演示。通过每部分知识的学习和相应操作环节,可以很快地掌握技术,并有很强的工程应用场景感。本书最后提供了一个综合应用案例,读者可以应用所学知识实现一个工程项目,从而有效训练工程应用开发能力。
勘误和支持
由于本书编者水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评、指正。如果在教材使用中遇到问题,或者要学习更多相关内容,请关注微信号lemonedu或联系普开数据在线实验平台lab.zkpk.org。
编者
|
|