大数据和Hadoop平台介绍

定义

大数据是指其大小和复杂性无法通过现有常用的工具软件,以合理的成本,在可接受的时限内对其进行捕获、管理和处理的数据集。这些困难包括数据的收入、存储、搜索、共享、分析和可视化。大数据要满足三个基本特征(3V),数据量(volume)、数据多样性(variety)和高速(velocity)。数据量指大数据要处理的数据量一般达到TB甚至PB级别。数据多样性指处理的数据包括结构化数据、非结构化数据(视频、音频、网页)和半结构化数据(xml、html)。高速指大数据必须能够快速流入并且能得到快速处理。

大数据发展背景

数据爆炸。伴随信息技术的应用,全球数据量呈几何级数增长。过去几年间的数据总量超过了人类历史上的数据总和。芯片、摄像头、各自传感器遍布世界各个角落,原本不能被感知的事物都可以被监测。软硬件技术的不断进步,也为处理大数据创造的条件。

大数据的应用领域

  • 在公共领域,跨部门提供大数据服务,能大幅减少检索和处理时间。提高公共服务的效率。
  • 企业通过收集产品在使用中产生的海量数据,进行分析,可以改善产品性能。
  • 大数据能帮助企业对用户进行更加细化的区分,并针对用户的不同需求提供个性化的服务。这是营销和危机管理常用的办法。
  • 利用自动化算法支持或替代人工决策。对大数据的分析能极大改善决策效果,降低风险,并挖掘出其他方法无法发现的宝贵信息。
  • 商业模式、产品与服务创新。Netflix根据大数据分析结果,制作《纸牌屋》。

大数据研究课题

  1. 数据获取问题。包括哪些数据需要保存,哪些数据需要丢弃,如何可靠的存储我们需要的数据。
  2. 数据结构问题。微博博客是没有结构的数据,图像和视频在存储和显示方面具有结构,但是无法包含语义信息进行检索。如果将没有语义的内容转换为结构化的格式,并进行后续处理,是需要面对的另一项挑战。
  3. 数据集成问题。不同来源数据之间进行关联,才能充分发挥数据的作用。
  4. 数据分析、组织、抽取和建模
  5. 如何呈现分析结果

科技公司大数据产品

  • 谷歌:MapReduce
  • IBM:InfoSphere大数据分析平台
  • SAS:高性能分析服务器和SAS DataFlux数据流处理引擎
  • EMC:Greenplum 支持海量并行处理
  • Teradata:Aster Data 基于MapReduce,提供了多种统计软件包

大数据发展趋势

  • 数据资源化。大数据成为企业和社会关注的重要战略资源,并已经成为大家争相抢夺的焦点。
  • 与云计算深度结合。大数据离不开云处理,云处理为大数据提供弹性可拓展的基础服务。
  • 带动科学理论的突破。带动数据挖掘、机器学习、人工智能和数据科学等相关技术的发展。

大数据处理一般步骤

  1. 数据的收集。
    第一个方式是抓取或者爬取。例如搜索引擎就是这么做的:它把网上的所有的信息都下 载到它的数据中心,然后你一搜才能搜出来。
    第二个方式是推送,有很多终端可以帮我收集数据。比如说小米手环,可以将你每天跑 步的数据,心跳的数据,睡眠的数据都上传到数据中心里面。

  2. 数据的传输
    一般会通过队列方式进行,因为数据量实在是太大了,数据必须经过处理才会有用。可系统处理不过来,只好排好队,慢慢处理。

  3. 数据的存储
    存储要确保安全,不易丢失,高容错性。

  4. 数据的处理和分析
    存储的数据是原始数据,原始数据多是杂乱无章的,有很多垃圾数据在里面,因而需要清洗和过滤,得到一些高质量的数据。对于高质量的数据,就可以进行分析,从而对数据进行分类,或者发现数据之间的相互关系,得到知识。

  5. 数据的检索和挖掘
    使想要的信息容易被搜索到。挖掘信息之间的相互关系。

开源框架

因为大数据的这些特点,针对其收集、传输、存储、处理分析和检索使用产生了许多开源框架。
|功能|框架|
|—|—|
|文件存储|Hadoop HDFS、Tachyon、KFS|
|离线计算|Hadoop MapReduce、Spark|
|流式、实时计算|Storm、Spark Streaming、S4、Heron|
|K-V、NOSQL数据库|HBase、Redis、MongoDB|
|资源管理|YARN、Mesos|
|日志收集|Flume、Scribe、Logstash、Kibana|
|消息系统|Kafka、StormMQ、ZeroMQ、RabbitMQ|
|查询分析|Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid|
|分布式协调服务|Zookeeper|
|集群管理与监控|Ambari、Ganglia、Nagios、Cloudera Manager|
|数据挖掘、机器学习|Mahout、Spark MLLib|
|数据同步|Sqoop|
|任务调度|Oozie|

一般大数据平台的框架如下图

Hadoop HDFS和Hadoop MapReduce作为大数据存储和处理的开山鼻祖,大数据平台上都处于核心位置。下面介绍一下两个框架的基本原理。

Hadoop HDFS基本原理

HDFS全称Hadoop Distributed File System。HDFS是一个分布式文件系统,可以部署在一个服务器集群上。Java语言开发,可以部署在任何支撑java的机器上。
HDFS有几个基本概念NameNode、DataNode和block。
NameNode负责整个分布式文件系统的元数据管理,也就是文件路径名,数据block的ID以及存储位置等信息。还要记录一些事情,比如哪些节点是集群的一部分,某个block有几份副本等。

DataNode是实际存储文件数据的节点。DataNode会通过心跳和NameNode保持通信,如果DataNode超时未发送心跳,NameNode就会认为这个DataNode已经失效,立即查找这个DataNode上存储的block有哪些,以及这些block还存储在哪些服务器上,随后通知这些服务器再复制一份block到其他服务器上,保证HDFS存储的block备份数符合用户设置的数目,即使再有服务器宕机,也不会丢失数据。

Block是HDFS中的存储单元,文件被写入HDFS时,会被切分成多个block块,默认的块大小是128MB,每个数据块默认会有三个副本。

数据写入:首先将文件分成多个block,每个block会被写入三个DataNode中,写入哪三个DataNode中是由NameNode指定的,写入完成,NameNode会记录这些信息。同一个文件中不同的block可能会被写入完全不同的DataNode中。

数据读取:数据读取时按block读取。每一个block时,会从NameNode获取信息,知道从哪个DataNode中读取,一般是就近原则。所有该文件的block读取完成,构成完整的文件。
客户端和Datanode是同一个机器:距离为0 ,表示最近
客户端和Datanode是同一个机架的不同机器 :距离为2 ,稍微远一点
客户端和Datanode位于同一个数据中心的不同机架上 :距离为4,更远一点

Hadoop MapReduce基本原理

Hadoop MapReduce是一个分布式计算框架,其中的运算都可以在多个机器上并行进行。使用者只需要完成运算本身的编码,不需要关心并行计算的底层细节。
MapReduce背后的思想很简单,就是把一些数据通过Map来归类,通过Reduce来把同一类的数据进行处理。Map和reduce的过程都是利用集群的计算能力并行执行的。计算模型的核心是Map和Reduce函数,两个函数由用户自行实现。

把原始大数据集切割成小数据集时,通常小数据集小于等于HDFS的一个block的大小,这样一个小数据集位于一个物理机上,便于本地计算。Map和reduce各自的启动任务数量可以由用户指定。

上图表示一个MapReduce统计单词出现次数的过程,原始数据分割为4个子文件,对每个子文件按照用户的Map函数会产生<单词, 出现次数>的形式的结果。然后把相同单词的组合在一起构成的形式,作为Reduce函数的输入,相同的k2一定分发给相同的Reduce任务处理,例如单词lorem的所有计算都由第一个Reduce任务来完成。按照这个思想,即使要统计的文件数量上千万个,单词数量有几千个,但是通过MapReduce框架,只要集群机器数量够多,也是可以在可接受时间内计算完成的。 ,list(v2)>,v2>,v2>

大数据行业应用

  • 互联网:定向广告、用户行为分析、内容推荐、搜索引擎优化
  • 金融:反洗钱、反欺诈、客户价值分析、目标市场客户聚类、偿还能力预测、股票投资组合趋势分析
  • 电信:业务设计优化、客户流失预测、网络质量优化
  • 医疗卫生:临床数据比对、决策支持、就诊行为分析、疾病模式分析
  • 公共安全:嫌疑人行为预测分析、恐怖活动检测、危险性分析、关系人分析
  • 智慧交通:整个传感器、GPS和健康视频等设备产生的海量数据,结合气象监测设备的天气状况数据、人口分布数据、移动通信数据,实现智能公共交通。

推广使用面临的挑战

  • 少数机构对数据绝对垄断,大部分数据集中在这些机构内部。就像罕见病数据,只有通过共享机制和平台,才能为患者提供帮助。
  • 大数据应用应该以尊重用户隐私为前提,同时如何兼顾数据的开放和创新,是大数据行业面临的一个重要问题。企业通过大数据来理解用户的特点和需求,需要充分尊重他们的隐私权。
  • 现有的大数据架构无法保证数据本身不被篡改,因而限制了需要建立信任和确权的应用场景。诸如信用类的数据,如果没有办法确保数据的真实有效性,则很难运用在相关机构的决策流程中。

大数据和Hadoop平台介绍相关推荐

  1. 大数据技术Hadoop的介绍

    大数据的基本处理流程与传统数据处理流程并无太大差异,主要区别在于:由于大数据要处理大量.非结构化的数据,所以在各处理环节中都可以采用并行处理.目前,Hadoop.MapReduce和Spark等分布式 ...

  2. Hadoop学习总结(1)——大数据以及Hadoop相关概念介绍

    一.大数据的基本概念 1.1.什么是大数据 大数据指的就是要处理的数据是TB级别以上的数据.大数据是以TB级别起步的.在计算机当中,存放到硬盘上面的文件都会占用一定的存储空间,例如: 文件占用的存储空 ...

  3. 大数据以及Hadoop相关概念介绍

    一.大数据的基本概念 1.1.什么是大数据 大数据指的就是要处理的数据是TB级别以上的数据.大数据是以TB级别起步的.在计算机当中,存放到硬盘上面的文件都会占用一定的存储空间,例如: 文件占用的存储空 ...

  4. java 大数据以及Hadoop相关概念介绍

    一.大数据的基本概念 1.1.什么是大数据 大数据指的就是要处理的数据是TB级别以上的数据.大数据是以TB级别起步的.在计算机当中,存放到硬盘上面的文件都会占用一定的存储空间,例如: 文件占用的存储空 ...

  5. 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍

    Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...

  6. Hadoop大数据通用处理平台

    1.简介 Hadoop是一款开源的大数据通用处理平台,其提供了分布式存储和分布式离线计算,适合大规模数据.流式数据(写一次,读多次),不适合低延时的访问.大量的小文件以及频繁修改的文件. *Hadoo ...

  7. 细细品味大数据--初识hadoop

    初识hadoop 前言 之前在学校的时候一直就想学习大数据方面的技术,包括hadoop和机器学习啊什么的,但是归根结底就是因为自己太懒了,导致没有坚持多长时间,加上一直为offer做准备,所以当时重心 ...

  8. 魅族大数据之流平台设计部署实践--转

    原文地址:http://mp.weixin.qq.com/s/-RZB0gCj0gCRUq09EMx1fA 沈辉煌   魅族数据架构师  2010年加入魅族,负责大数据.云服务相关设计与研发: 专注于 ...

  9. Hadoop专业解决方案-第1章 大数据和Hadoop生态圈

    一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop生态圈小组已经翻译完成,在此 ...

最新文章

  1. 解决scrollView像素自动下移的办法
  2. 关于C++中的条件编译
  3. mnesia数据库学习笔记四
  4. Vue.js 2.0 和 React、Augular等其他框架的全方位对比
  5. border 0px和border none的区别
  6. Java中什么是句柄
  7. 无线网感叹号不能上网怎么办
  8. 技术融合:使用区块链的5G——未来无线通信的序章
  9. Android -结束当前activity并返回上一个activity
  10. kdj超卖_KDJ超卖区超买区是什么?有什么要注意的
  11. input输入框type参数
  12. pycharm注册码,之前的已经过期
  13. 网上播放.flv格式的二种程序
  14. 数据库实验1(建立school数据库)
  15. C++程序设计原理与实践 习题答案 第十五章 第15章习题答案
  16. 微信小程序前端设计,以北京动物园为例
  17. Kafka 的 replica 同步机制(ISR与OSR列表数据相互转换)
  18. u8、u16、u32、s8、s16、s32、Size_t是什么类型
  19. 无人便利店是风口吗?来看看行业人士怎么说
  20. Ubuntu windows双系统安装

热门文章

  1. 【职业女性着装全攻略】_职业女性应该怎样着装
  2. SAP China 招聘
  3. matlab 实验四 数据处理与多项式计算
  4. Arduino融资3200万美元,进军企业市场
  5. paper_summary
  6. 一个整数称为完全平方数,是指它的值是另一个整数的平方。如81是个完全平方数,因为它是9的平方。请按要求完成:①在三位的正整数中寻找所有完全平方数;例如:144(12*12),676(26*26)
  7. 新手领导需要避开的5个职场暗礁,个个都深藏杀机
  8. 页面布局基础——2.3
  9. 达梦数据库冷备份与还原
  10. [BZOJ]4180: 字符串计数 SAM+矩阵乘法+二分