{eval=Array;=+count(Array);}
“大数据”不是公司,是一个IT行业内的术语,是指巨大的数据集合,超出常规软件计算和管理的数据流。
大数据最早是2008年提出来,麦肯锡研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
大数据对于社会发展而言有着巨大的作用,
第一,对大数据的处理分析正成为新一代信息技术融合应用的结点,通过对不同来源数据的管理、处理、分析与优化,大数据可以提供更加精准的服务。。
第二,大数据是信息产业持续高速增长的新引擎。面向大数据市场的新技术、新产品、新服务、新业态会不断涌现。
第三,各行各业的决策对大数据的分析越来越重视,对大数据的分析可以使零售商实时掌握市场动态并迅速做出应对;在医疗领域,可提高诊断准确性和药物有效性;可以为商家制定更加精准有效的营销策略提供决策支持;可以帮助企业为消费者提供更加及时和个性化的服务;在公共事业方面,大数据也开始发挥促进经济发展、维护社会稳定等方面的重要作用。
1.起源
4V特征(value,volume,velocity,variety)
Value:价值高。
Volume:体量大。(数据每个18月翻一番,而每年产生的数据量增长到44万亿GB)
Velocity:速度快。(数据生成,存储,分析,处理远远超过人们的想象力)
Variety:种类多。
(1)企业(关系型数据库,数据仓库)
(2)人(浏览信息,聊天,电子商务......)
(3)机器(服务器产生日志,视频监控数据)
(1)BAT三大公司为代表
(2)电信、金融、保险、电力、石化系统
(3)公共安全、医疗、交通领域
(4)气象、地理、政务等领域
(5)制造业和其他产业
(1)结构化
(2)非结构化
二.大数据技术支撑
环境,教育,医疗,农业,智慧城市,零售业,金融业。
数据抓取,数据导入,物联网设备自动抓取
数据清理,数据集成,数据转换,数据规约。
转换:过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。
规约:寻找依赖于发现目标的数据的有用特征,缩减数据规模,最大限度地精简数据量。
统计与分析主要是利用分布式数据库,或分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总,以满足大多数常见的分析需求,在这些方面需要使用不同的框架和方法。
Hadoop:大数据的核心,主要组成部分包括:mapreduce(处理)和HDFS(存储)和yarn(集群资源管理和调度);
Hbase:常用数据库;spark:实时数据处理框架;sqoop:数据导入导出;flume:日志采集工具
Hive:数据仓库,必须有SQL基础,可以做离线的数据分析,把复杂的mapreduce代码转化为简单的sql语句,
而且可以处理的数据类型更加丰富,对接的工具也更多,是整个大数据学习中非常主要的一部分。
Scala语言主要用来开发spark代码,调用spark的相关API方法,还有spark SQL和spark streaming的开发,主要对接Kafka进行数据的消费,然后进行流数据处理。结果可以保存在本地数据库,也可以保存在大数据平台下。
在大数据的统计与分析过程中,主要面对的挑战是分析涉及的数据量太大,其对系统资源,特别是I/O会有极大的占用。
hadoop生态圈
(1)Ambari:Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。
Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper,Sqoop,Hcatalog。
(2)Hdfs:Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。大数据技术首要的要求就是先把数据存下来。HDFS(Hadoop Distributed FileSystem)的设计本质就是为了大量的数据能够横跨成千上万台机器存储,但是对于用户来说看到的是一个文件系统而不是许多文件系统。比如说你要获取 /hdfs/tmp/aaa 的数据,虽然使用的是一个路径,但找个文件的数据可能存放在很多台不同的机器上。作为用户来说不需要知道数据到底存储在哪儿,就像你在单机上并不关心文件到底存储在磁盘那个扇区一样。这些数据交由 HDFS 来存储。
---------------------
ii容错率是指在某个体系中能减小一些因素或选择对某个系统产生不稳定的概率。POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )
Yarn:Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
MapReduce:分布式离线计算
Hive:在使用了一段时间的 MapReduce 以后,程序员发现 MapReduce 的程序写起来太麻烦。希望能够封装出一种更简单的方式去完成 MapReduce 程序,于是就有了 Pig 和 Hive。
Pig 是以类似脚本的方式去描述 MapReduce,而 Hive 则是以 SQL 的方式。它们会自动把脚本或者 SQL 翻译成 MapReduce 程序,然后丢给计算引擎去计算处理。有了 Hive 以后人们发现 SQL 的优势太大了。一是容易写,一两行的 SQL 换成 MapReduce 可能要几十上百行。二是容易上手,即使非计算机背景的用户也可以很快的学会。三是易写易改,一看就懂,容易维护。所以自从 Hive 问世很快就成长为大数据仓库的核心技术。使用了一段时间的 Hive 后人们发现 Hive 运行在 MapReduce 上太慢了。于是有开发出了针对于 SQL 优化的技术 Impala,Drill 和 Presto 等。这些技术 牺牲了系统的通用性和稳定性来提高 SQL 的效率,最终并没有流行起来。
Sqoop:Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库。
Storm:如果想要更快的计算速度,比如视频网站的热博榜,要求更新延迟在一分钟内,上面的任何一种手段都无法胜任。于是 Streaming(流)计算模型被开发出来了。Storm 是最流行的流计算平台。流处理的思路就是在数据进入系统的时候就进行处理,基本无延迟。缺点是不灵活,必须事先直到需要统计的数据,数据流过就没有了,没法进行补算。因此它是个好东西,但还是无法代替上述体系的。
HBase: 是一个构建与 HDFS 的分布式,面向列的存储系统。以 kv 对的方式存储数据并对存取操作做了优化,能够飞快的根据 key 获取绑定的数据。例如从几个 P 的数据中找身份证号只需要零点几秒。
除此之外还有需要定制的组件。比如:Mahout 是机器学习和推荐引擎,Nutch 是搜索引擎,Zookeeper 是集群管理工具,Sqoop 是 Hadoop 和数据库之间的导入导出工具,Flume 是日志提取 Oozie 作业调度。
________________________
i容错率是指在某个体系中能减小一些因素或选择对某个系统产生不稳定的概率。POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )
0
回答0
回答0
回答0
回答0
回答0
回答0
回答9
回答0
回答0
回答