资 源 简 介
资料简介:对于入门和学习大数据技术的读者来说,大数据技术的生态圈和知识体系过于庞大,可能还没有开始学习就已经陷入众多的陌生名词和泛泛的概念中。本书的切入点明确而清晰,从Hadoop 生态系统的明星 Cloudera 入手,逐步引出各类大数据基础和核心应用框架。 本书分为18章,系统介绍Hadoop 生态系统大数据相关的知识,包括大数据概述、Cloudera Hadoop平台的安装部署、HDFS分布式文件系统、MapReduce计算框架、资源管理调度框架YARN 、Hive数据仓库、数据迁移工具Sqoop、分布式数据库HBase、ZooKeeper分布式协调服务、准实时分析系统Impala、日志采集工具Flume、分布式消息系统Kafka、ETL工具Kettle、Spark计算框架等内容,*后给出两个综合实操案例,以巩固前面所学的知识点。 本书既适合Hadoop初学者、大数据技术工程师和大数据技术爱好者自学使用,亦可作为高等院校和培训机构大数据相关课程的培训用书。 资料目录:目 录第1章 大数据概述 11.1 大数据时代的数据特点 11.2 大数据时代的发展趋势——数据将成为资产 21.3 大数据时代处理数据理念的改变 31.3.1 要全体不要抽样 31.3.2 要效率不要绝对精确 31.3.3 要相关不要因果 41.4 大数据时代的关键技术 51.5 大数据时代的典型应用案例 51.5.1 塔吉特超市精准营销案例 51.5.2 谷歌流感趋势案例 61.5.3 证券行业案例 61.5.4 某运营商大数据平台案例 71.6 Hadoop概述和介绍 71.6.1 Hadoop 发展历史和应用现状 71.6.2 Hadoop 的特点 81.6.3 Hadoop 的生态系统 8第2章 Cloudera大数据平台介绍 102.1 Cloudera简介 102.2 Cloudera的Hadoop发行版CDH简介 112.2.1 CDH概述 112.2.2 CDH和Apache Hadoop对比 122.3 Cloudera Manager大数据管理平台介绍 122.3.1 Cloudera Manager概述和整体架构 122.3.2 Cloudera Manager的基本核心功能 142.3.3 Cloudera Manager的高级功能 182.4 Cloudera平台参考部署架构 192.4.1 Cloudera的软件体系结构 192.4.2 群集硬件规划配置 192.4.3 Hadoop集群角色分配 212.4.4 网络拓扑 23第3章 Cloudera Manager及CDH离线安装部署 253.1 安装前的准备工作 253.2 Cloudera Manager及CDH安装 303.3 添加其他大数据组件 35第4章 分布式文件系统HDFS 374.1 HDFS简介 374.2 HDFS体系结构 384.2.1 HDFS 架构概述 384.2.2 HDFS命名空间管理 384.2.3 NameNode 394.2.4 SecondaryNameNode 394.3 HDFS 2.0新特性 414.3.1 HDFS HA 414.3.2 HDFS Federation 424.4 HDFS操作常用shell命令 434.4.1 HDFS目录操作和文件处理命令 434.4.2 HDFS的Web管理界面 444.4.3 dfsadmin管理维护命令 454.4.4 namenode命令 474.5 Java编程操作HDFS实践 474.6 HDFS 的参数配置和规划 494.7 使用Cloudera Manager启用HDFS HA 514.7.1 HDFS HA高可用配置 514.7.2 HDFS HA高可用功能测试 54第5章 分布式计算框架MapReduce 575.1 MapReduce概述 575.2 MapReduce原理介绍 585.2.1 工作流程概述 585.2.2 MapReduce框架的优势 585.2.3 MapReduce执行过程 595.3 MapReduce编程——单词示例解析 595.4 MapReduce应用开发 605.4.1 配置MapReduce开发环境 605.4.2 编写和运行MapReduce程序 61第6章 资源管理调度框架YARN 656.1 YARN产生背景 656.2 YARN框架介绍 666.3 YARN工作原理 676.4 YARN框架和MapReduce1.0框架对比 696.5 CDH集群的YARN参数调整 69第7章 数据仓库Hive 727.1 Hive简介 727.2 Hive体系架构和应用场景 737.2.1 Hive体系架构 737.2.2 Hive应用场景 747.3 Hive的数据模型 757.3.1 内部表 757.3.2 外部表 757.3.3 分区表 757.3.4 桶 757.4 Hive实战操作 767.4.1 Hive内部表操作 777.4.2 Hive外部表操作 777.4.3 Hive分区表操作 797.4.4 桶表 807.4.5 Hive应用实例WordCount 827.4.6 UDF 847.5 基于Hive的应用案例 86第8章 数据迁移工具Sqoop 888.1 Sqoop概述 888.2 Sqoop工作原理 898.3 Sqoop版本和架构 918.4 Sqoop实战操作 93第9章 分布式数据库HBase 1009.1 HBase概述 1009.2 HBase数据模型 1019.3 HBase生态地位和系统架构 1019.3.1 HBase的生态地位解析 1019.3.2 HBase系统架构 1029.4 HBase运行机制 1039.4.1 Region 1039.4.2 Region Server工作原理 1039.4.3 Store工作原理 1049.5 HBase操作实战 1049.5.1 HBase常用shell命令 1049.5.2 HBase编程实践 1079.5.3 HBase参数调优的案例分享 109第10章 分布式协调服务ZooKeeper 11110.1 ZooKeeper的特点 11110.2 ZooKeeper的工作原理 11210.2.1 基本架构 11210.2.2 ZooKeeper实现分布式Leader节点选举 11210.2.3 ZooKeeper配置文件重点参数详解 11210.3 ZooKeeper典型应用场景 11510.3.1 ZooKeeper实现HDFS的NameNode高可用HA 11510.3.2 ZooKeeper实现HBase的HMaster高可用 11610.3.3 ZooKeeper在Storm集群中的协调者作用 116第11章 准实时分析系统Impala 11811.1 Impala概述 11811.2 Impala组件构成 11911.3 Impala系统架构 11911.4 Impala的查询处理流程 12011.5 Impala和Hive的关系和对比 12111.6 Impala安装 12211.7 Impala入门实战操作 124第12章 日志采集工具Flume 12812.1 Flume概述 12812.2 Flume体系结构 12912.2.1 Flume外部结构 12912.2.2 Flume的Event事件概念 13012.2.3 Flume的Agent 13012.3 Flume安装和集成 13112.3.1 搭建Flume环境 13112.3.2 Kafka与Flume集成 13212.4 Flume操作实例介绍 13212.4.1 例子概述 13212.4.2 第一步:配置数据流向 13212.4.3 第二步:启动服务 13312.4.4 第三步:新建空数据文件 13312.4.5 第四步:运行flume-ng命令 13312.4.6 第五步:运行命令脚本 13412.4.7 最后一步:测试结果 134第13章 分布式消息系统Kafka 13513.1 Kafka架构设计 13513.1.1 基本架构 13513.1.2 基本概念 13613.1.3 Kafka主要特点 13613.2 Kafka原理解析 13713.2.1 主要的设计理念 13713.2.2 ZooKeeper在Kafka的作用 13713.2.3 Kafka在ZooKeeper的执行流程 13713.3 Kafka安装和部署 13813.3.1 CDH5完美集成Kafka 13813.3.2 Kafka部署模式和配置 13913.4 Java操作Kafka消息处理实例 14113.4.1 例子概述 14113.4.2 第一步:新建工程 14113.4.3 第二步:编写代码 14113.4.4 第三步:运行发送数据程序 14213.4.5 最后一步:运行接收数据程序 14313.5 Kafka与HDFS的集成 14313.5.1 与HDFS集成介绍 14313.5.2 与HDFS集成实例 14413.5.3 第一步:编写代码——发送数据 14413.5.4 第二步:编写代码——接收数据 14513.5.5 第三步:导出文件 14613.5.6 第四步:上传文件 14613.5.7 第五步:运行程序——发送数据 14613.5.8 第六步:运行程序——接收数据 14713.5.9 最后一步:查看执行结果 147第14章 大数据ETL工具Kettle 14814.1 ETL原理 14814.1.1 ETL简介 14814.1.2 ETL在数据仓库中的作用 14914.2 Kettle简介 14914.3 Kettle完整案例实战 15014.3.1 案例介绍 15014.3.2 最终效果 15014.3.3 表说明 15014.3.4 第一步:准备数据库数据 15114.3.5 第二步:新建转换 15214.3.6 第三步:新建数据库连接 15314.3.7 第四步:拖动表输入组件 15314.3.8 第五步:设置属性——order表 15414.3.9 第六步:设置属性——user表 15514.3.10 第七步:拖动流查询并设置属性——流查询 15514.3.11 第八步:设置属性——product表 15614.3.12 第九步:连接组件 15614.3.13 第十步:设置属性——文本输出 15614.3.14 最后一步:运行程序并查看结果 15714.4 Kettle调度和命令 15814.4.1 通过页面调度 15814.4.2 通过脚本调度 15914.5 Kettle使用原则 161第15章 大规模数据处理计算引擎Spark 16215.1 Spark简介 16215.1.1 使用背景 16215.1.2 Spark特点 16315.2 Spark架构设计 16315.2.1 Spark整体架构 16315.2.2 关键运算组件 16415.2.3 RDD介绍 16415.2.4 RDD操作 16515.2.5 RDD依赖关系 16615.2.6 RDD源码详解 16715.2.7 Scheduler 16815.2.8 Storage 16815.2.9 Shuffle 16915.3 Spark编程实例 17015.3.1 实例概述 17015.3.2 第一步:编辑数据文件 17015.3.3 第二步:编写程序 17115.3.4 第三步:上传JAR文件 17115.3.5 第四步:远程执行程序 17215.3.6 最后一步:查看结果 17215.4 Spark SQL实战 17315.4.1 例子概述 17315.4.2 第一步:编辑数据文件 17315.4.3 第二步:编写代码 17415.4.4 第三步:上传文件到服务器 17415.4.5 第四步:远程执行程序 17415.4.6 最后一步:查看结果 17515.5 Spark Streaming实战 17515.5.1 例子概述 17515.5.2 第一步:编写代码 17515.5.3 第二步:上传文件到服务器 17615.5.4 第三步:远程执行程序 17715.5.5 第四步:上传数据 17715.5.6 最后一步:查看结果 17715.6 Spark MLlib实战 17815.6.1 例子步骤 17815.6.2 第一步:编写代码 17815.6.3 第二步:上传文件到服务器 17915.6.4 第三步:远程执行程序 17915.6.5 第四步:上传数据 18015.6.6 最后一步:查看结果 180第16章 大数据全栈式开发语言Python 18216.1 Python简介 18216.2 Python安装和配置 18316.2.1 Anaconda介绍 18316.2.2 Anaconda下载 18316.2.3 Anaconda安装 18416.2.4 Anaconda包管理 18516.2.5 PyCharm下载 18516.2.6 PyCharm安装 18516.2.7 PyCharm使用 18716.3 Python入门 19016.3.1 例子概述 19016.3.2 第一步:新建Python文件 19016.3.3 第二步:设置字体大小 19116.3.4 第三步:编写代码 19116.3.5 第四步:执行程序 19216.3.6 最后一步:改变输入 19216.4 Python数据科学库pandas入门 19316.4.1 例子概述 19316.4.2 pandas包介绍 19416.4.3 第一步:打开Jupyter Notebook 19416.4.4 第二步:导入包 19416.4.5 第三步:定义数据集 19516.4.6 第四步:过滤数据 19516.4.7 最后一步:获取数据 19616.5 Python绘图库matplotlib入门 19716.5.1 例子概述 19716.5.2 第一步:新建一个Python文件 19716.5.3 第二步:引入画图包 19716.5.4 第三步:组织数据 19816.5.5 第四步:画图 19816.5.6 最后一步:查看结果 199第17章 大数据实战案例:实时数据流处理项目 20017.1 项目背景介绍 20017.2 业务需求分析 20017.3 项目技术架构 20117.4 项目技术组成 20217.5 项目实施步骤 20217.5.1 第一步:运用Kafka产生数据 20217.5.2 第二步:运用Spark接收数据 20817.5.3 第三步:安装Redis软件 21117.5.4 第四步:准备程序运行环境 21417.5.5 第五步:远程执行Spark程序 21617.5.6 第六步:编写Python实现可视化 21817.5.7 最后一步:执行Python程序 22117.6 项目总结 222第18章 大数据实战案例:用户日志综合分析项目 22318.1 项目背景介绍 22318.2 项目设计目的 22318.3 项目技术架构和组成 22418.4 项目实施步骤 22518.4.1 第一步:本地数据FTP到Linux环境 22518.4.2 第二步:Linux数据上传到HDFS 22518.4.3 第三步:使用Hive访问HDFS数据 22618.4.4 第四步:使用Kettle把数据导入HBase 22818.4.5 第五步:使用Sqoop把数据导入MySQL 23418.4.6 第六步:编写Python程序实现可视化 23618.4.7 最后一步:执行Python程序 238