《Hadoop平台搭建与应用》项目一 认识大数据
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.统计与分析
统计与分析主要利用分布式数据库,或者分布式计算集群来对 存储于其内的海量数据进行普通的分析和分类汇总等,以满足 大多数常见的分析需求。在些这方面,一些实时性需求会用到 易安信(EMC,一家美国信息存储资讯科技公司)的分布式 数据库GreenPlum、Oracle的新一代数据库云服务器Exadata 以及基于MySQL的列式存储Infobright等,而一些批处理或 者基于半结构化数据的需求可以使用Hadoop。 统计与分析这部分的主要特点和挑战是分析涉及的数据量大, 其对系统资源,特别是I/O会有极大的占用。
Hive
(基于Hadoop的数据仓库)Hive定义了一种类似SQL的查询语 言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通 常用于离线分析。
HBase
分布式列存数据库) HBase是一个针对结构化数据的可伸缩、高 可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数 据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映 射表(Key/Value),其中,键由行关键字、列关键字和时间戳构 成。HBase提供了对大规模数据的随机、实时读写访问,同时, HBase中保存的数据可以使用MapReduce来处理,它将数据存储 和并行计算完美地结合在一起。
Hadoop生态圈
HDFS
HDFS Hadoop的分布式文件系统。是Hadoop体系中数据存储管理的基础。 它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬 件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐 量应用程序数据访问功能,适合带有大型数据集的应用程序。
(1)熟悉大数据的概念和特征。 (2)熟悉大数据分析流程和工具使用。 (3)学会VMware和Ubuntu的安装。 (4)学会Hadoop的安装与配置。
知识准备
大数据运行流程图
1.采集
大数据的采集是指利用多个数据库来接收客户端(如 Web、APP或者传感器形式等)的数据,并且用户可 以通过这些数据库来进行简单的查询和处理工作。比 如,电商会使用传统的关系型数据库MySQL和 Oracle等来存储每一笔事务数据,除此之外,KeyValue型数据库(如Redis)、文档型数据库(如 MonogoDB)、图型数据库(如Neo4j)等NoSQL 数据库也常用于数据的采集。
2.导入和预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据 进行有效的分析,还是应该将这些来自前端的数据导入到一个 集中的大型分布式数据库(SequoiaDB)或者分布式存储集 群(OneProxy)中,并且可以在导入基础上做一些简单的清 洗和预处理工作。也有一些用户会在导入时使用来自Twitter、 LinkedIn等公司相继开源的流式计算系统Storm、分布式发布 订阅消息系统Kafka、雅虎之前开源的S4等对数据进行流式计 算,来满足部分业务的实时计算需求。 导入与预处理过程的特点和挑战主要是导入的数据量大,每秒 钟的导入量经常会达到百兆,甚至千兆级别
Pig
(基于Hadoop的数据流系统) 由yahoo!开源,设计动机是提供一种基于 MapReduce的ad-hoc(计算在query时发生)数据分析工具。定义了一种数据 流语言—Pig Latin,将脚本转换为MapReduce任务在Hadoop上执行。通常 用于进行离线分析。
MapReduce
MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据 集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对 中间结果中相同“键”的所有“值”进行规约,以得到最终结果。 MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境 里进行数据处理。
知识目标
(1)识记大数据的概念和特征。 (2)领会大数据处理与分析流程
技能目标
(1)熟悉大数据分析与处理工具。 (2)学会VMware的安装 (3)学会Ubuntu的安装。 (4)学会Hadoop的安装与配置
02
任务1.1认知大数据与环境搭建
任务描述
任务目标
(1)学习大数据相关知识内容,熟悉 大数据的定义、大数据的基本特征及大 数据处理与分析的相关技术、工具或产 品等。 (2)完成系统环境搭建,为Hadoop 搭建做好环境准备工作。
4.挖掘
与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题, 主要是在现有数据上面进行基于各种算法的计算,从而起到预测(Predict) 的效果,以便实现一些高级别数据分析的需求。比较典型算法有用于聚类的 K-Means、用于统计学习的SVM和用于分类的Naive Bayes,主要使用的工 具有Hadoop的Mahout等。 该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量 和计算量都很大,还有常用数据挖掘算法都以单线程为主。 数据来自各个方面,在面对庞大而复杂的大数据,选择一个合适的处理工具 显得很有必要,工欲善其事,必先利其器,一个好的工具不仅可以使工作事 半功倍,也可以让人们在竞争日益激烈的云计算时代,挖掘大数据价值,及 时调整战略方向。
Zookeeper
(分布式协作服务)解决分布式环境下的数据管理问题:统一命名,状态同 步,集群管理,配置同步等。
Sqoop
(数据同步工具)Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和 Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分 利用了MR的并行化和容错性。
项目一 认识大数据
目录
Contents
ቤተ መጻሕፍቲ ባይዱ
01 02
任务1.1 认知大数据,完成系统环境搭建
任务1.2 Hadoop环境搭建
01
学习目标
大数据是收集、整理、处理大容量数据集,并从中获得见解所需的非 传统战略和技术的总称。虽然处理数据所需的计算能力或存储容量早 已超过一台计算机的上限,但这种计算类型的普遍性、规模,以及价 值在最近几年才经历了大规模扩展。由于Hadoop已经成为应用最广 泛的大数据技术,因此大数据相关技术主要围绕Hadoop展开,包括 Hadoop、 MapReduce、HDFS和 HBase等。