内容简介
本书是华为ICT学院大数据技术官方教材,旨在帮助学一步学据的基本概念、技术原理,以及大数台的搭建和使用。 本书从大数据的概念和特征开始讲起,首先让读者对大数据有一个感的认识;接下来结合大数台的各能模块,详细介绍大数据的存储、处理、分析、可视化等原理和操作;对大数据在各种行业中的应用加以叙述,让读者更加充分地感受到大数据应用的价值。 除华为ICT学院的学生之外,本书同样适合正在备考HA-Big Data认证,或者正在参加HA-Big Data技术培训的学行阅读和参考。其他有入ICT行业的人员和大数据技术爱好者也可以通过阅读本书,加深自己对大数据技术的理解。
目录
第 1章 大数据概述 01. 1 大数据的概念与价值 21.1.1 什么是大数据 21.1.2 大数据的来源 41.1.3 大数据有什么价值 51.1.4 如何挖掘企业大数据的价值 61.2 大数据的关键技术 71.2.1 大数据采集、预处理与存储管理 71.2.2 大数据分析与挖掘 81.2.3 数据可视化 91.3 大数据产业 91.3.1 数据提供 91.3.2 技术提供 91.3.3 服务提供 101.4 大数据应用场景 101.5 本结 11练12第 2章 Hadoop大数据处台 142.1 Hadoo台概述 162.1.1 Hadoop简介 162.1.2 Hadoop的特 172.1.3 Hadoop应用现状 172.1.4 Hadoop版本及相台 182.2 Hadoop生态系统 182.2.1 Hadoop存储系统(HDFS&Hbase) 182.2.2 Hadoop计算框架(MapReduce&YARN) 192.2.3 Hadoop数据仓库(Hive) 202.2.4 Hadoop数据转换与日志处理(Sqoop&Flume) 202.2.5 Hadoop应用协调与工作流(ZooKeeper&Oozie) 202.2.6 大数据技术(Kerberos&LDAP) 212.2.7 大数据即时查询与搜索(Impala&Solr) 212.2.8 大数据消息订阅(Kafka) 212.3 Hadoop安装部署 222.3.1 Hadoop规划部署 222.3.2 Hadoop的安装方式 232.4 华为FusionInsight HD安装部署 262.4.1 FusionInsight HD简介 262.4.2 FusionInsight HD集成设计 282.4.3 FusionInsight HD安装部署 332.4.4 FusionInsight HD重要参数配置 412.5 本结 42练43第3章 大数据存储技术(HDFS) 443.1 概述 463.1.1 分布式文件系统的概念与作用 473.1.2 HDFS概述 473.2 HDFS的相关概念 483.2.1 块 483.2.2 NameNode 493.2.3 Secondary NameNode 503.2.4 DataNode 513.3 HDFS体系架构与原理 523.3.1 HDFS体系架构 523.3.2 HDFS的高可用机制 523.3.3 HDFS的目录结构 543.3.4 HDFS的数据读写过程 573.4 HDFS接口及其在FusionInsight HD编程中的实践 583.4.1 HDFS常用Shell命令 593.4.2 HDFS的Web界面 603.4.3 HDFS的Java接口及应用实例 623.5 本结 67练67第4章 大数据离线计算框架(MapReduce & YARN) 704.1 MapReduce技术原理 724.1.1 MapReduce概述 734.1.2 Map函数与Reduce函数 734.2 YARN技术原理 744.2.1 YARN的概述与应用 744.2.2 YARN的架构 754.2.3 MapReduce的计算过程 764.2.4 YARN的资源调度 784.3 FusionInsight HD中MapReduce的应用 784.3.1 WordCount实例分析 784.3.2 MapReduce编程实践 794.4 本结 85练86第5章 大数据数据库(Hbase) 885.1 Hbase概述 905.1.1 Hbase简介 905.1.2 Hbase与关系型数据库的区别 915.1.3 Hbase的应用场景 925.2 Hbase的架构原理 925.2.1 Hbase的数据模型 925.2.2 表和Region 935.2.3 Hbase的系统架构能组件 945.2.4 Hbase的读写流程 965.2.5 Hbase的Compaction过程 975.3 FusionInsight HD中Hbase的编程实践 985.3.1 FusionInsight HD中Hbase的常用参数配置 985.3.2 Hbase的常用Shell命令 1005.3.3 Hbase常用的Java API及应用实例 1035.4 本结 118练118第6章 大数据数据仓库(Hive) 1206.1 Hive概述 1226.1.1 Hive简介和应用 1226.1.2 Hive的特 1236.1.3 Hive与传统数据仓库的区别 1246.2 Hive的架构和数据存储 1246.2.1 Hive的架构原理 1246.2.2 Hive的数据存储模型 1276.2.3 HiveQL编程 1286.3 FusionInsight HD中Hive应用实践 1326.3.1 FusionInsight HD中Hive的常用参数配置 1326.3.2 加载数据到Hive 1336.3.3 使用HiveQ行数据分析 1356.4 本结 139练139第7章 大数据数据转换(Sqoop与Loader) 1427.1 Sqoop概述 1447.1.1 Sqoop简介与应用 1457.1.2 Sqoop能与特 1457.1.3 Sqoop与传统ETL的区别 1467.2 FusionInsight HD中Loader的应用实践 1467.2.1 FusionInsight HD中Loader与Sqoop的对比 1477.2.2 FusionInsight HD中Loader的参数配置 1487.2.3 使用Loade行数据转换 1497.2.4 Loader的常用Shell命令 1507.2.5 Loader应用实践 1527.3 本结 153练154第8章 大数据日志处理(Flume) 1568.1 Flume概述 1588.1.1 Flume简介与应用 1588.1.2 Flume能与特 1618.1.3 Flume与其他主流开源日志收集系统的区别 1628.2 FusionInsight HD中Flume的应用实践 1628.2.1 FusionInsight HD中Flume的常用参数配置 1638.2.2 Flume常用的Shell命令 1648.2.3 Flume与Kafka结行日志处理 1658.3 本结 168练169第9章 大数据实时计算框架(Spark) 1709.1 Spark概述 1729.1.1 Spark的概述与应用 1739.1.2 Scala语言介绍 1749.1.3 Spark生态系统组件 1749.1.4 Spark与Hadoop的对比 1759.2 Spark技术架构 1769.2.1 Spark的运行原理 1769.2.2 RDD概念与原理 1779.2.3 Spark的三种部署方式 1819.2.4 使用开发工具测试Spark 1829.3 FusionInsight HD中Spark应用实践 1839.3.1 运行Spark Shell 1839.3.2 行Spark RDD操作 1849.3.3 使用Spark客户端工具运行Spark程序 1859.4 Spark Streaming 1889.4.1 Spark Streaming的设计思想 1889.4.2 Spark Streaming的应用实例 1899.5 Spark SQL 1919.5.1 Spark SQL能 1919.5.2 FusionInsight HD中Spark SQL的应用实例 1929.6 Spark MLlib 1939.6.1 机器学 1939.6.2 Spark MLlib能 1949.7 Spark GraphX 1949.7.1 图计算简介 1949.7.2 Spark Graph能简介 1959.8 本结 195练196第 10章 大数据流计算 19810.1 流计算概述 20010.1.1 静态数据和流数据 20110.1.2 流计算的概念 20110.1.3 MapReduce和流计算 20210.1.4 流计算框架 20210.2 流计算的处理流程 20310.2.1 数据实时采集 20310.2.2 数据实时计算 20310.2.3 数据实时查询 20310.3 Streaming流计算 20410.3.1 Streaming简介 20410.3.2 Streaming的特点 20610.3.3 Streaming在FusionInsight HD上的应用实践 20810.3.4 Spark Streaming与Streaming的差异 21210.4 本结 213练213第 11章 数据可视化 21611.1 可视化概述 21811.1.1 数据可视化简介 21911.1.2 数据可视化的重要 21911.1.3 可视化的发展历程 21911.1.4 数据可视化的过程 22111.2 可视化工具 22211.2.1 入门级工具(Excel) 22211.2.2 普通工具(R语言) 22211.2.3 工具(Tableau和QlikView) 22311.3 可视化的典型应用 22311.3.1 可视化在医学上的应用 22311.3.2 可视化在工程中的应用 22411.3.3 可视化在互联网的应用 22511.4 本结 225练226第 12章 大数据行业应用 22812.1 大数据在金融行业的应用 23012.2 大数据在电信行业的应用 23212.3 大数据在系统的应用 23612.4 大数据在互联网行业的应用 23712.5 本结 237练238术语表 240参考文献 252
摘要与插图
随着信息技术的发展,硬件成本不断降低,网络带宽获得大幅提升,这些都为大量数据的传输和存储提供了基础;智能终端的普及及物联网的发展让更多的人和物链接到互联网中,成为数据的生产者:电子商务、社交网络、共享经济的发展也让人类活动踪迹越来越多地发生在网络上并以数据的形式记录下来。人类社会活动产生的数据与日俱增,涉及社会的方方面面。数据已经成为一种重要的生产要素,这些海量的数据被称为“大数据”。大数据蕴藏着巨大的价值,对大数据的运用和价值挖掘会给社会和企业带来新的机遇和变革。
本章讲述大数据的基本概念、关键技术以及产业模式。
理解大数据的概念。
。了解大数据的关键技术。
·了解大数据的产业模式。
·了解大数据的应用。
1.pan style="font-family:宋体">大数据的概念与价值
1.1.pan style="font-family:宋体">什么是大数据
信息技术咨询研究与顾问咨询公司Gartner给大数据做出了这样的定义:大数据是指需要用率和创新型的信息技术加以处理,以洞察能力、决策能力和优化流程能力的信息资产。
芙名管理咨询公司表肯锡提出:大数据是指其大小超出了传统软件工具的采集、存储、管理和分析等能力的数据集,具有海量的数据(Volume)、快速的数据处理(Velocity)、
多样的数据类型(Variety)和低价值密度(Value)四大特征,简称4V特征。
·海量的数据(Volume)入信息社会以来,数据增长速度急剧加快。20pan style="font-family:宋体">年前后,云计算、大数据、物联网技术的高速发展掀起了新一轮的信息化浪潮。我们生活在一个“数据爆炸”的时代。20pan style="font-family:宋体">年2月22日,社交网络Facebook公布的一份研究报告称,截20pan style="font-family:宋体">年年底全世界已有约32亿网民。目前已经是以用户为来生产内容的Web2.0时代,用户可以随地在博客、微博、上发布自己的信息,直播、网站的兴起降低了多元化内容生产的门槛,每个互联网的用户都可以产生大量的数据。随着智能设备、物联网技术的发展,越来越多的终端接入到互联网中,数据产生的源头不再只是计算机和手机,智能家居、监控设备、各类传感器等每时每刻都会产生大量的数据。这些、图像等半结构化或非结构化数据的规模在快速增长,全球的信息技术、电信行业和消费科技咨询、顾问和活动服务专业提供商IDC在一项调查报告中指出,非结构化数据已占企业数据的80%且每年都按指数增长60%。快速的数据产生与处理(Velocity):根据IDC的“数字宇宙”报告,预计到
2020年,全球数据使用量将达到35.22B。随着数据量的急速增长,企业对数据处理效率的要求也越来越高。对于某些应用而言,经常需要在数秒内对海量数行计算分析,并给出计算结果,否则处理结果是过时和无效的。大数据可以通过对海量数行实时分析,快速得出结论,从而保证结果的时效。多样的数据类型(Variety):大数据的数据类型繁多,简单地可以分为结构化数据、半结构化数据和非结构化数据。其中,结构化数据主要指存储在关系型数据库(例如MSSQL、Oracle、MySQL)中的数据。不方便用关系型数据库二维逻辑表来表现的数据即称为非结构化数据,其括图片、音频、、模型、连接信息、文档、位置信息、网络日志等,存储在非关系型数据库(NoSQL)中。和普通纯文本相比,半结构化数据具有的结构,但数据的结构和内容混在一起,没有明显的区分,OEM(Ob ject Exchange Model)是一种典型的半结构化数据模型,也存储在非关系型数据库(NoSQL)中。相对于以往便于存储的结构化数据,非结构化数据越来越多,多类型的数据对数据的处理能力提出了更高的要求。
低价值密度(Value):价值密度低是大数据的另一个典型特征。在信息存储、数据处理技术比较落后的时代,由于技术的限制,企业对大规模数据的处理能
......




