1.起源

  1. 起源 2008年9月,美国《自然》杂志,正是提出“大数据”概念

  2. 2011年2月1日,美国《科学》杂志,通过社会调查的方式,第一次分析了大数据对人们生活的影响

  3. 2011年5月,麦肯锡研究院分布报告。大数据是指其大小超出了常规数据库工具获取,存储,管理和分析能力的数据集。

  1. 特征

 4V特征(value,volume,velocity,variety)

Value:价值高。

Volume:体量大。(数据每个18月翻一番,而每年产生的数据量增长到44万亿GB)

Velocity:速度快。(数据生成,存储,分析,处理远远超过人们的想象力)

Variety:种类多。

  1. 大数据的来源

  1. 按产生主体

(1)企业(关系型数据库,数据仓库)

(2)人(浏览信息,聊天,电子商务......)

(3)机器(服务器产生日志,视频监控数据)

  1. 数据来源的行业划分

(1)BAT三大公司为代表

(2)电信、金融、保险、电力、石化系统

(3)公共安全、医疗、交通领域

(4)气象、地理、政务等领域

(5)制造业和其他产业

3.按数据存储的形式划分

(1)结构化

(2)非结构化

二.大数据技术支撑

  1. 大数据运用场景

环境,教育,医疗,农业,智慧城市,零售业,金融业。

  1. 大数据的处理方法

  1. 数据采集

数据抓取,数据导入,物联网设备自动抓取

  1. 数据预处理

数据清理,数据集成,数据转换,数据规约。

转换:过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。

规约:寻找依赖于发现目标的数据的有用特征,缩减数据规模,最大限度地精简数据量。

  1. 统计与分析

统计与分析主要是利用分布式数据库,或分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总,以满足大多数常见的分析需求,在这些方面需要使用不同的框架和方法。

Hadoop:大数据的核心,主要组成部分包括:mapreduce(处理)和HDFS(存储)和yarn(集群资源管理和调度);

Hbase:常用数据库;spark:实时数据处理框架;sqoop:数据导入导出;flume:日志采集工具

Hive:数据仓库,必须有SQL基础,可以做离线的数据分析,把复杂的mapreduce代码转化为简单的sql语句,

而且可以处理的数据类型更加丰富,对接的工具也更多,是整个大数据学习中非常主要的一部分。

                                                

Scala语言主要用来开发spark代码,调用spark的相关API方法,还有spark SQL和spark streaming的开发,主要对接Kafka进行数据的消费,然后进行流数据处理。结果可以保存在本地数据库,也可以保存在大数据平台下。

在大数据的统计与分析过程中,主要面对的挑战是分析涉及的数据量太大,其对系统资源,特别是I/O会有极大的占用。

  1. 数据挖掘

  1. Hadoop和大数据的渊源

  1. 什么是hadoop?

  1. Hadoop 是 Apache 旗下的一套开源软件平台。

  2. Hadoop 可以利用计算机集群,根据用户自定义的业务逻辑对海量数据进行分布式处理。

  3. 通常我们说的 Hadoop 是指一个更广泛的概念--Hadoop 生态圈。

  1. hadoop生态圈

3.技术介绍

(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 )

 

更多推荐