02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx

上传人:啊飒飒 文档编号:13643535 上传时间:2022-01-20 格式:PPTX 页数:42 大小:11.29MB
返回 下载 相关 举报
02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx_第1页
第1页 / 共42页
02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx_第2页
第2页 / 共42页
02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx_第3页
第3页 / 共42页
02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx_第4页
第4页 / 共42页
02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx》由会员分享,可在线阅读,更多相关《02.《大数据》配套PPT之二:第2章-数据采集与预处理.pptx(42页珍藏版)》请在三一文库上搜索。

1、,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,大数据,刘鹏主编张燕张重生张志立 副主编,BIG DATA,刘 鹏,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,大数据采集架构,of,42,3,2.1大数据采集架构,第二章 数据采集与预处理,如今,社会中各个机构、部门、公司、团体等正在实时不断地产生大量的信息,这些信息需要以简单的方式进行处理,同时又要十分准确且能迅速满足各种类型的数据(信息)需求者。这给我们带来了许多挑战,第一个挑战就是在大量的数据中收集需要的数据,下面介绍常用的大数据采集工具。,of,42,4,2.1.1概述,2.1大数据采集架构,第二章 数据采

2、集与预处理,of,42,5,2.1.2 常用大数据采集工具,数据采集最传统的方式是企业自己的生产系统产生的数据,除上述生产系统中的数据外,企业的信息系统还充斥着大量的用户行为数据、日志式的活动数据、事件信息等,越来越多的企业通过架设日志采集系统来保存这些数据,希望通过这些数据获取其商业或社会价值。,2.1大数据采集架构,第二章 数据采集与预处理,of,42,6,在Flume中,外部输入称为Source(源),系统输出称为Sink(接收端)。Channel(通道)把Source和Sink链接在一起。Apache Chukwa项目与Flume有些相类似,Chukwa继承了Hadoop的伸缩性和鲁棒

3、性。也内置一个功能强大的工具箱,用于显示系统监控和分析结果。互联网时代,网络爬虫也是许多企业获取数据的一种方式。Nutch就是网络爬虫中的娇娇者,Nutch是Apache旗下的开源项目,存在已经超过10年,拥有大量的忠实用户。,Flume体系架构,2.1大数据采集架构,第二章 数据采集与预处理,of,42,7,2.1.3 Apache Kafka数据采集,Apache Kafka被设计成能够高效地处理大量实时数据,其特点是快速的、可扩展的、分布式的,分区的和可复制的。Kafka是用Scala语言编写的,虽然置身于Java阵营,但其并不遵循JMS规范。,Topics(话题):消息的分类名。Pro

4、ducers(消息发布者):能够发布消息到Topics的进程。Consumers(消息接收者):可以从Topics接收消息的进程。Broker(代理):组成Kafka集群的单个节点。,基本Kafka集群的工作流程,2.1大数据采集架构,第二章 数据采集与预处理,of,42,8,1、Topics,Topics是消息的分类名(或Feed的名称)。Kafka集群或Broker为每一个Topic都会维护一个分区日志。每一个分区日志是有序的消息序列,消息是连续追加到分区日志上,并且这些消息是不可更改的。,2、日志区分,一个Topic可以有多个分区,这些分区可以作为并行处理的单元,从而使Kafka有能力高

5、效地处理大量数据。,Topics与日志分析,2.1大数据采集架构,第二章 数据采集与预处理,of,42,9,3、Producers,Producers是向它们选择的主题发布数据。生产者可以选择分配某个主题到哪个分区上。这可以通过使用循环的方式或通过任何其他的语义分函数来实现。,4、Consumers,Kafka提供一种单独的消费者抽象,此抽象具有两种模式的特征消费组:Queuing 和Publish-Subscribe。,5、Apache Kafka的安装及使用,因为Kafka是处理网络上请求,所以,应该为其创建一个专用的用户,这将便于对Kafka相关服务的管理,减少对服务器上其他服务的影响。

6、,2.1大数据采集架构,第二章 数据采集与预处理,of,42,10,使用useradd命令来创建一个Kafka用户:,$sudo useradd kafka m,使用passwd 命令来设置其密码:,$sudo passwd kafaka,接下来把kafaka用户添加到sudo管理组,以便kafaka用户具有安装Apache Kafka依赖库的权限。这里使用adduser命令来进行添加:,$sudo adduser kafka sudo,这时就可以使用kafka账户了。 切换用户可以使用su命令:,$su - kafka,在Apache Kafka安装所依赖的软件包前,最好更新一下apt管理程

7、序的软件列表:,$sudo apt-get update,Apache Kafka需要Java运行环境,这里使用apt-get命令安装default-jre包,然后安装Java运行环境:,$sudo apt-get install default-jre,通过下面的命令测试一下Java运行环境是否安装成功,并查看Java的版本信息:,$java -version,2.1大数据采集架构,第二章 数据采集与预处理,of,42,11,机器有如下显示:,2.1大数据采集架构,第二章 数据采集与预处理,of,42,12,2.1大数据采集架构,第二章 数据采集与预处理,of,42,13,2.1大数据采集架

8、构,第二章 数据采集与预处理,of,42,14,2.1大数据采集架构,第二章 数据采集与预处理,of,42,15,6、使用Java来编写Kafka的实例,首先,编写KafkaProducer.properties文件:,zk.connect = localhost:2181broker.list = localhost:9092serializer.class = kafka.serializer.StringEncoderrequest.required.acks = 1,下面的代码是使用Java编写了一个Kafka消息发布者:,import kafka.javaapi.producer.P

9、roducer;import kafka.producer.KeyedMessage;import kafka.producer.ProducerConfig;public class MyKafkaProducer private Producer producer;private final String topic;public MyKafkaProducer(String topic) throws Exception InputStream in = Properties.class.getResourceAsStream(KafkaProducer.properties);Prop

10、erties props = new Properties();props.load(in);ProducerConfig config = new ProducerConfig(props);producer = new Producer(config);public void sendMessage(String msg)KeyedMessage data = new KeyedMessage( topic, msg);producer.send(data);producer.close();public static void main(String args) throws Excep

11、tionMyKafkaProducer producer = new MyKafkaProducer(HelloTopic);String msg = Hello Kafka!;producer. sendMessage(msg);,2.1大数据采集架构,第二章 数据采集与预处理,of,42,16,下面创建Comsumer,首先编写KafkaProperties文件:,zk.connect = localhost:2181group.id = testgroupzookeeper.session.timeout.ms = 500zookeeper.sync.time.ms = mit.inte

12、rval.ms = 1000,上述参数配置,十分容易理解,具体的详细说明,可以参考Kafka的官方文档。下面的代码是使用Java编写了一个Kafka的Comsumer。,import java.io.InputStream;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Properties;import kafka.consumer.ConsumerConfig;import kafka.consumer.ConsumerIterator;import kafka.con

13、sumer.KafkaStream;import kafka.javaapi.consumer.ConsumerConnector;import kafka.consumer.Consumer;public class MyKafkaConsumer private final ConsumerConnector consumer;private final String topic;public MyKafkaConsumer(String topic) throws ExceptionInputStream in = Properties.class.getResourceAsStream

14、(KafkaProducer.properties);Properties props = new Properties();props.load(in);ConsumerConfig config = new ConsumerConfig(props);consumer = Consumer.createJavaConsumerConnector(config);this.topic = topic;,public void consumeMessage() Map topicMap = new HashMap();topicMap.put(topic, new Integer(1);Map

15、 consumerStreamsMap =consumer.createMessageStreams(topicMap);List streamList = consumerStreamsMap.get(topic);for (final KafkaStream stream : streamList) ConsumerIterator consumerIte = stream.iterator();while (consumerIte.hasNext()System.out.println(message : + new String(consumerIte.next().message()

16、;if (consumer != null)consumer.shutdown();public static void main(String args) throws ExceptionString groupId = testgroup;String topic = HelloTopic;MyKafkaConsumer consumer = new MyKafkaConsumer(topic);consumer.consumeMessage();,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,大数据采集架构,of,42,17,2.2数据预处理原理,第二章 数据采集与预处理,

17、通过数据预处理工作,可以使残缺的数据完整,并将错误的数据纠正、多余的数据去除,进而将所需的数据挑选出来,并且进行数据集成。数据预处理的常见方法有数据清洗、数据集成与数据变换。,of,42,18,2.2数据预处理原理,第二章 数据采集与预处理,数据属性分为数值属性和非数值属性进行处理,通过利用已存数据的多数信息来推测缺失值,数据属性分为数值属性和非数值属性进行处理,通过利用已存数据的多数信息来推测缺失值,大量采用同一属性值,可能会误导挖掘程序得出有偏差甚至错误的结论,数据偏离的问题小,但该方法十分费时,不具备实际的可操作性,通常当在缺少类标号时,通过这样的方法来填补缺失值,利用均值替换缺失值,用

18、同类样本的属性均值填充缺失值,使用最可能的值填充缺失值,of,42,19,2.2.1 数据清洗,2.2数据预处理原理,第二章 数据采集与预处理,of,42,20,噪声是被测量的变量的随机误差或方差。给定一个数值属性,如何才能使数据“光滑”,去掉噪声?下面给出数据光滑技术的具体内容。,2.2数据预处理原理,第二章 数据采集与预处理,of,42,21,数据清洗可以视为一个过程,包括检测偏差与纠正偏差两个步骤:,可以使用已有的关于数据性质的知识发现噪声、离群点和需要考察的不寻常的值。这种知识或“关于数据的数据”称为元数据。,即一旦发现偏差,通常需要定义并使用一系列的变换来纠正它们。但这些工具只支持有

19、限的变换,因此,常常可能需要为数据清洗过程的这一步编写定制的程序。,2.2数据预处理原理,第二章 数据采集与预处理,(1)模式集成和对象匹配问题,(2)冗余问题,(3)元组重复,(4)数据值冲突的检测与处理问题,数据挖掘经常需要数据集成合并来自多个数据存储的数据。数据还可能需要变换成适于挖掘的形式。数据分析任务多半涉及数据集成。,问题,of,42,22,2.2.2 数据集成,2.2数据预处理原理,第二章 数据采集与预处理,1、光滑。去除数据中的噪声,2、聚集。对数据进行汇总或聚集。,3、 数据泛化。使用概念分层,用高层概念替换低层或“原始”数据,4、规范化。将属性数据按比例缩放,使之落入一个小

20、的特定区间,5、属性构造。可以构造新的属性并添加到属性集中,以帮助挖掘过程,of,42,23,2.2.3 数据变换,数据变换的目的是将数据变换或统一成适合挖掘的形式。数据变换主要涉及以下内容:,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,大数据采集架构,of,42,24,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,数据仓库中的数据来自于多种业务数据源,这些数据源可能处于不同硬件平台上,使用不同的操作系统,数据模型也相差很远。如何获取并向数据仓库加载这些数据量大、种类多的数据,已成为建立数据仓库所面临的一个关键问题。,of,42,25,2.3.1 数据仓库与ETL工具

21、,数据仓库,是在企业管理和决策中面向主题的、集成的、随时间变化的、非易失性数据的集合。,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,如何获取并向数据仓库加载数据量大、种类多的数据,一般要使用专业的数据抽取、转换和装载工具,这些工具合并起来被称为ETL(Extract-Transform-Load)。,常用ETL工具,IBM Datastage,of,42,26,2.3.2 常用ETL工具,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,of,42,27,Informatica的PowerCenter是一个可扩展、高性能企业数据集成平台,应用于各种数据集成流程,通过该平台可实

22、现自动化、重复使用及灵活性,IBM InfoSphere DataStage是一款功能强大的ETL工具,是IBM数据集成平台IBM Information Server的一部分,是专门的数据提取、数据转换、数据发布的工具。,Kettle是Pentaho中的ETL工具,Pentaho是一套开源BI解决方案。Kettle是一款国外优秀的开源ETL工具,由纯Java编写,可以在Windows、Linux、UNIX上运行,无须安装,数据抽取高效稳定。,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,of,42,28,Kettle目前包括如下4个产品:,2.3 数据仓库与ETL工具,第二章 数据

23、采集与预处理,案例:Kettle数据迁移,可以在Kettle的官网http:/,进入主界面,在“输入”文件夹下选择“表输入”,并把它拖动到右侧编辑区,of,42,29,2.3.3 案例:Kettle数据迁移,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,案例:Kettle数据迁移,编辑数据来源 配置数据库的参数 选择输入表 设置“字段选择”,of,42,30,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,案例:Kettle数据迁移,将每一个输入字段改成和输出字段相同的名字,自动列出之前表输入中的所有字段,of,42,31,2.3 数据仓库与ETL工具,第二章 数据采集与预处

24、理,案例:Kettle数据迁移,of,42,32,在“输出”文件夹中拖出一个“表输出”到右侧编辑区,并画连接,配置数据库,将输出表对象设置为Oracle数据库,映射输入/输出关系,单击“确定”按钮关闭窗口,2.3 数据仓库与ETL工具,第二章 数据采集与预处理,案例:Kettle数据迁移,of,42,33,执行转换,去本地Oracle数据库中查看,实时显示转换过程,1采用哪些方式可以获取大数据?2常用大数据采集工具有哪些?3简述什么是Apache Kafka数据采集。4Topic可以有多个分区,这些分区有什么作用?5Kafka抽象具有哪种模式的特征消费组?6查阅相关资料,实例演示Apache

25、Kafka的安装及使用。7使用Java来编写Kafka的实例。8简述数据预处理的原理。9数据清洗有哪些方法?10数据集成需要重点考虑的问题有哪些?11数据变换主要涉及哪些内容?12分别简述常用ETL工具。,习题:,百度排名首位的大数据资料和交流中心,百度排名首位的云计算资料和交流中心,BDRack大数据实验一体机,虚拟出百套集群,并行开展大数据实验预装各种流行云计算和大数据平台提供配套实验教程、课件、PPT和培训,刘鹏看未来,云计算头条,云创大数据,中国大数据,微信号: chinacloudnj,微信号: cstorbigdata,资源丰富、分析深入、更新及时的云计算知识共享平台。,微信号:lpoutlook,微信号: cStor_cn,国内大数据龙头企业。提供领先的云存储、云数据库、云视频、云传输产品和解决方案。,眼光决定成败,与刘鹏教授看未来。刘鹏,清华博士,云计算作者。,分享大数据技术,剖析大数据案例,讨论大数据话题。,感谢聆听,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1