大数据导论 第3章 大数据采集与预处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



原始数据(有噪声、数据质量差),不能直接用于数据分析,有结构
裸 数
但不统一。

23 . 1 认数 识 据 h a d o o p
第三二章 大数据生采态集系与统预处理
(3)从价值角度,把数据分为:线上数据(热数据,流动数据)和线下数 据(冷数据、静态数据),线上数据比线下数据更有价值。
23 . 1 认数 识 据 h a d o o p
第三章 大数据采集与预处理
3.1 数据 3.2 数据采集 3.3 数据清洗 3.4 数据变换 3.5 网络爬虫
3.2 数据采集
第三章 大数据采集与预处理
3.2.1 数据采集分类
(1)按采集频率分:静态数据采集、低频数据采集、高频数据采集。
历史数据 人事档案
借阅信息 就业信息
静态数据
股票交易 日志
23 . 1 认数 识 据 h a d o o p
第三二章 大数据生采态集系与统预处理
度量是计算用的量化数值,而维度是描述事物的各种属性信息。 虽然度量都是数值,但是数值不一定是度量,比如订单ID是数值, 但它不是度量而是维度,像时间、文本类的数据都是维度。 注意: (1)维度和度量是可以转换的。比如要看“年龄”的平均数,这里的“年 龄”就是度量,要看19岁用户的订单情况,这里的“年龄”就是维度。对于 一个数据项而言,到底它是维度还是度量,是根据用户的需求而定的。 (2)维度可以衍生出新的维度和度量,比如用“地区”维度衍生出一个 大区维度,“北京”、“天津”都对应“华北大区”,或者用“年龄”维度衍生出 一个年龄范围维度,20到29岁=“青年人”,30到39岁=“中年人”,40到49 岁=“资深中年人”。再比如上述的平均年龄,就是用“年龄”维度衍生出一 个度量。 (3)度量也可以衍生出新的维度和度量,比如用“订单金额”度量衍生 出一个金额范围维度,100元以下对应“小额订单”,500元以上对应“大额 订单”等等。再比如用“收入”度量和“成本”度量相减,可以得到一个“利润” 度量。
第三二章 大数据生采态集系与统预处理
(2)从数据的加工程度看,可分为:裸数据、专家数据、信息和价值
洞见数据,直接用于决策。属于 价
语用层面的数据。

增值数据(对专家数据经过描述、建模得到 信
的数据),具有一定的语义。


干净的数据(裸数据经过特征工程得到的数据),

是结构化了的数据,可直接用于数据分析。
互联网 GPS
高频数据
一卡通
抄表数据
低频数据
3.2 数据采集 3.2.1 数据采集分类
第三章 大数据采集与预处理
(2)按数据结构分:结构化数据采集、半结构化数据采集、非结构化数据采集
企业 ERP 各类报表
财务数据 各类数据库
结构化数据
图片 音频 视频
文本 XML
HTML
非结构化数据 半结构化数据

3.2 数据采集
日志采集框架Flume
一、Flume结构
第三章 大数据采集与预处理
(1)Flume NG 以agent为最小的独立运行单位。 (2)一个agent就是一个JVM。 (3)单agent由Source、Sink和Channel三大组件构成。 (4) Flume是一个数据采集框架。Flume提供了大量内置的Source、Channel和 Sink类型(见图-图4)。不同类型的Source、Channel和Sink可以自由组合。 组合方式基于用户设置的配置文件,非常灵活。 (5) Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或 多个)Channel中。 (6)Sink负责持久化日志或者把事件推向另一个Source(见图5)。 (7)Channel是一个缓冲区。
(2)File Channel使用磁盘来存储Event,速率相对于Memory Channel较慢,但数据不 会丢失。
3.2 数据采集
第三章 大数据采集与预处理
二、flume-conf配置文件内容解析 例1:Sink数据到log日志 #定义agent和三个组件 a1.sources = r1
a1.sinks = k1
#Sink组件参数描述 a1.sinks.k1.type = logger a1.sinks.k1.channel = c1
#输出到日志 # sink 与 channel绑定(注意:channel )
#channels组件参数描述
a1.channels.c1.type = memory #用内存来存储Event
01 数据抓取(日志)
02 数据导入(数据库)
03 物联网传感设备自动信息采集(硬件)
3.2 数据采集
第三章 大数据采集与预处理
常用日志系统的采集工具考数据类型
Apache 的开源项目 hadoop,被业界广泛认可,很多大型企业都有了各自 基于 hadoop 的应用和扩展。当 1000+ 以上个节点的 hadoop 集群变得常
a1.channels = c1
#Source组件参数描述 a1.sources.r1.type = netcat #从socket端口获取数据 a1.sources.r1.bind = localhost #本机采集 a1.sources.r1.port = 44444 #采集端口 a1.sources.r1.channels = c1 # source 与 channel绑定
ETL负责将分散的、异构数据源中的数据如关系数 据、平面数据文件等抽取到临时中间层后,进行清洗、 转换、集成,最后加载到数据仓库或数据集市中,成为 联机分析处理、数据挖掘提供决策支持的数据。
3.1 数据
第三章 大数据采集与预处理
3.1.1 数据是什么
数据不仅仅是数字,它描绘了现实的世界,与照片捕捉了瞬间的情景 一样,数据是现实世界的一个快照。数据是对我们所研究现象的属性和特 征的具体描述。
5
983
北京
21
222
毛衣
2013/12/14
6
266
上海
31
560
西服
2014/1/8
7
54
上海
25
313
衬衫
2012/6/6
8
498
广州
22
275
衬衫
2012/11/9
9
1209
北京
24
299
牛仔裤2013/4/1ຫໍສະໝຸດ 10709北京
18
120
T恤衫
2014/8/10
这些数据项有什么差异呢?总体而言,分两种,一种叫维度,一种叫度量(或 者叫指标)。在表3.2里,“订单金额”是度量,其余数据项都是维度。
第三二章 大数据生采态集系与统预处理
3.1.3 度量和维度
订单ID
用户ID
地区
1
99
北京
2
1008
北京
3
27
上海
年龄 19 14 24
订单金额 126 80 309
订单商品 T恤衫 牛仔裤 衬衫
订单时间 2014/10/8 2014/9/1 2014/3/14
4
67
北京
22
286
衬衫
2013/5/25
Scribe
Scribe是facebook开源的日志收集系统,它能够从各种日志源上收集日志, 存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,便于进 行集中统计分析处理。它最重要的特点是容错性好。
Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理大规模的网 站中的所有动作流数据。具有高稳定性、高吞吐量、支持通过Kafka服务器 和消费机集群来分区消息和支持Hadoop并行数据加载的特性。
#Sink组件参数描述 a1.sinks.k1.type = hdfs #结果存入HDFS a1.sinks.k1.channel = c1 # sink 与 channel绑定(注意:channel )
3.2 数据采集
二、flume-conf配置文件内容解析
3.1 数据
第三章 大数据采集与预处理
3.1.1 数据是什么
数据、信息、知识之间存在一定的区别和联系,见图3.1。
23 . 1 认数 识 据 h a d o o p
第三二章 大数据生采态集系与统预处理
3.1.2 数据分类
结构化程度
结构化有价值的数 据对象
结构化 半结构化 非结构化
抽象程度


内容
3.2 数据采集
1、Source
第三章 大数据采集与预处理
(1)NetCat Source可以使用TCP和UDP两种协议方式,使用方法基本相同,通过 监听指定的IP和端口来传输数据,它会将监听到的每一行数据转化成一个Event写 入到Channel中。 (2)不同主机上的Agent通过网络传输数据可使用的Source,一般是接受Avro client的数据,或和是上一级Agent的Avro Sink成对存在。 (3)Exec source通过执行给定的Unix命令的传输结果数据,如,cat,tail -F等, 实时性比较高,但是一旦Agent进程出现问题,可能会导致数据的丢失。
非结构化数 无法用传统关系数据库 难 以 发 现 语 音 、 图 NOsql,NewS

存储和管理的数据
同 一 的 结 像、文本 ql,云技术

半结构化数 经过转换用传统关系数 先 有 数 据 ,HTML 、 RDF、OWL

据库存储和管理的数据 后有结构 XML
23 . 1 认数 识 据 h a d o o p
a1.sinks = k1
a1.channels = c1
#Source组件参数描述 a1.sources.r1.type = exec #采集命令的传输结果数据
mand = /home/hadoop/log/test.log a1.sources.r1.channels = c1 # source 与 channel绑定
(3)Kafka Sink,传输数据到Kafka中,需要注意的是Flume版本和Kafka版本的兼容性
3.2 数据采集
3、Channel
第三章 大数据采集与预处理
(1)Memory Channel是使用内存来存储Event,使用内存的意味着数据传输速率会很 快,但是当Agent挂掉后,存储在Channel中的数据将会丢失。
关系型数据库
非关系型数据库
3.2 数据采集 3.2.1 数据采集分类
(3)按采集方式分:定时采集、实时采集。
第三章 大数据采集与预处理
3.2 数据采集
第三章 大数据采集与预处理
3.2.2 数据采集方法
大数据的采集通常采用多个数据库来接收终端数据,包括智能硬件端、多种 传感器端、网页端、移动APP应用端等,并且可以使用数据库进行简单的处理工 作。
大数据技术导论
第三章 大数据采集与预处理
3.1 数据 3.2 数据采集 3.3 数据清洗 3.4 数据变换 3.5 网络爬虫
大数据采集与预处理主要指网络爬虫和ETL技术。 ETL是英文Extract-Transform-Load 的缩写,用来描述 将 数 据 从 来 源 端 经 过 抽 取 ( extract ) 、 转 换 (transform)、加载(load)至目的端的过程。

元数据

数据对象











23 . 1 认数 识 据 h a d o o p
第三二章 大数据生采态集系与统预处理
(1)从数据的结构化程度看,可分为:结构化数据、半结构化数据和非结 构化数据
类型
含义
本质
举例
技术
结构化数据 直接可以用传统关系数 先 有 结 构 ,数 字 、 符 SQL 据库存储和管理的数据 后有管理 号、表格
3.2 数据采集
2、Sink
第三章 大数据采集与预处理
(1)Logger Sink,Logger Sink以INFO 级别的日志记录到log日志中,这种方式通常用于 测试。
(2)HDFS Sink,Sink数据到HDFS,目前支持text 和 sequence files两种文件格式,支 持压缩,并可以对数据进行分区,分桶存储。
Chukwa 见时, Apache 提出了用chukwa的方法来解决。
Flum
是Cloudera提供的一个可靠性和可用性都非常高的日志系统,采用分布式 的海量日志采集、聚合和传输的系统,支持在日志系统中定制各类数据发 送方,用于收集数据;同时,Flume具有通过对数据进行简单的处理,并 写到各种数据接受方的能力。
a1.channels.c1.capacity = 1000
#内存容量
a1.channels.c1.transactionCapacity = 100 #事务的容量
3.2 数据采集
第三章 大数据采集与预处理
二、flume-conf配置文件内容解析 例2:Sink数据到HDFS #定义agent和三个组件 a1.sources = r1
相关文档
最新文档