共计 3855 个字符,预计需要花费 10 分钟才能阅读完成。
大数据和 Hadoop 平台介绍
定义
大数据是指其大小和复杂性无奈通过现有罕用的工具软件,以正当的老本,在可承受的时限内对其进行捕捉、治理和解决的数据集。这些艰难包含数据的支出、存储、搜寻、共享、剖析和可视化。大数据要满足三个基本特征(3V),数据量(volume)、数据多样性(variety)和高速(velocity)。数据量指大数据要解决的数据量个别达到 TB 甚至 PB 级别。数据多样性指解决的数据包含结构化数据、非结构化数据(视频、音频、网页)和半结构化数据(xml、html)。高速指大数据必须可能疾速流入并且能失去疾速解决。
大数据倒退背景
数据爆炸。随同信息技术的利用,寰球数据量呈几何级数增长。过来几年间的数据总量超过了人类历史上的数据总和。芯片、摄像头、各自传感器遍布世界各个角落,本来不能被感知的事物都能够被监测。软硬件技术的不断进步,也为解决大数据发明的条件。
大数据的应用领域
- 在公共畛域,跨部门提供大数据服务,能大幅缩小检索和解决工夫。进步公共服务的效率。
- 企业通过收集产品在应用中产生的海量数据,进行剖析,能够改善产品性能。
- 大数据能帮忙企业对用户进行更加细化的辨别,并针对用户的不同需要提供个性化的服务。这是营销和危机治理罕用的方法。
- 利用自动化算法反对或代替人工决策。对大数据的剖析能极大改善决策成果,升高危险,并挖掘出其余办法无奈发现的贵重信息。
- 商业模式、产品与服务翻新。Netflix 依据大数据分析后果,制作《纸牌屋》。
大数据研究课题
- 数据获取问题。包含哪些数据须要保留,哪些数据须要抛弃,如何牢靠的存储咱们须要的数据。
- 数据结构问题。微博博客是没有构造的数据,图像和视频在存储和显示方面具备构造,然而无奈蕴含语义信息进行检索。如果将没有语义的内容转换为结构化的格局,并进行后续解决,是须要面对的另一项挑战。
- 数据集成问题。不同起源数据之间进行关联,能力充分发挥数据的作用。
- 数据分析、组织、抽取和建模
- 如何出现剖析后果
科技公司大数据产品
- 谷歌:MapReduce
- IBM:InfoSphere 大数据分析平台
- SAS:高性能剖析服务器和 SAS DataFlux 数据流解决引擎
- EMC:Greenplum 反对海量并行处理
- Teradata:Aster Data 基于 MapReduce,提供了多种统计软件包
大数据发展趋势
- 数据资源化。大数据成为企业和社会关注的重要策略资源,并曾经成为大家争相争夺的焦点。
- 与云计算深度联合。大数据离不开云解决,云解决为大数据提供弹性可拓展的根底服务。
- 带动迷信实践的冲破。带动数据挖掘、机器学习、人工智能和数据迷信等相干技术的倒退。
大数据处理个别步骤
- 数据的收集。
第一个形式是抓取或者爬取。例如搜索引擎就是这么做的:它把网上的所有的信息都下 载到它的数据中心,而后你一搜能力搜进去。
第二个形式是推送,有很多终端能够帮我收集数据。比如说小米手环,能够将你每天跑 步的数据,心跳的数据,睡眠的数据都上传到数据中心外面。
- 数据的传输
个别会通过队列形式进行,因为数据量切实是太大了,数据必须通过解决才会有用。可零碎解决不过去,只好排好队,缓缓解决。
- 数据的存储
存储要确保安全,不易失落,高容错性。
- 数据的解决和剖析
存储的数据是原始数据,原始数据多是横七竖八的,有很多垃圾数据在外面,因此须要荡涤和过滤,失去一些高质量的数据。对于高质量的数据,就能够进行剖析,从而对数据进行分类,或者发现数据之间的互相关系,失去常识。
- 数据的检索和开掘
使想要的信息容易被搜寻到。开掘信息之间的互相关系。
开源框架
因为大数据的这些特点,针对其收集、传输、存储、解决剖析和检索应用产生了许多开源框架。
| 性能 | 框架 |
|–|–|
| 文件存储 |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 函数会产生 < 单词, 呈现次数 > 的 <k2,v2> 模式的后果。而后把雷同单词的 <k2,v2> 组合在一起形成 <k2,List(v2)> 的模式,作为 Reduce 函数的输出,雷同的 k2 肯定分发给雷同的 Reduce 工作解决,例如单词 lorem 的所有计算都由第一个 Reduce 工作来实现。依照这个思维,即便要统计的文件数量上千万个,单词数量有几千个,然而通过 MapReduce 框架,只有集群机器数量够多,也是能够在可承受工夫内计算实现的。
大数据行业利用
- 互联网:定向广告、用户行为剖析、内容举荐、搜索引擎优化
- 金融:反洗钱、反欺诈、客户价值剖析、指标市场客户聚类、偿还能力预测、股票投资组合趋势剖析
- 电信:业务设计优化、客户散失预测、网络品质优化
- 医疗卫生:临床数据比对、决策反对、就诊行为剖析、疾病模式分析
- 公共安全:嫌疑人行为预测剖析、恐怖活动检测、危险性剖析、关系人剖析
- 智慧交通:整个传感器、GPS 和衰弱视频等设施产生的海量数据,联合气象监测设施的天气状况数据、人口散布数据、挪动通信数据,实现智能公共交通。
推广应用面临的挑战
- 多数机构对数据相对垄断,大部分数据集中在这些机构外部。就像常见病数据,只有通过共享机制和平台,能力为患者提供帮忙。
- 大数据利用应该以尊重用户隐衷为前提,同时如何兼顾数据的凋谢和翻新,是大数据行业面临的一个重要问题。企业通过大数据来了解用户的特点和需要,须要充沛尊重他们的隐私权。
- 现有的大数据架构无奈保证数据自身不被篡改,因此限度了须要建设信赖和确权的利用场景。诸如信用类的数据,如果没有方法确保数据的实在有效性,则很难使用在相干机构的决策流程中。