02《大数据》配套PPT之二:第2章数据采集与预处理_第1页
02《大数据》配套PPT之二:第2章数据采集与预处理_第2页
02《大数据》配套PPT之二:第2章数据采集与预处理_第3页
02《大数据》配套PPT之二:第2章数据采集与预处理_第4页
02《大数据》配套PPT之二:第2章数据采集与预处理_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用大数据刘鹏主编张燕张重生张志立 副主编BIG DATA刘 鹏 教授,清华大学博士。现任南京大数据研究院院长、中国信息协会大数据分会副会长、中国大数据技术与应用联盟副理事长。 主持完成科研项目25项,发表论文80余篇,出版专业书籍15本。获部级科技进步二等奖4项、三等奖4项。主编的云计算被全国高校普遍采用,被引用量排名中国计算机图书第一名。创办了知名的中国云计算()和中国大数据()网站。 曾率队夺得2002 PennySort国际计算机排序比赛冠军,两次夺得全国高校科技比赛最高奖,并三次夺得清华大学科技比赛最高奖。 荣获“全军十大学习成才

2、标兵”(排名第一)、南京“十大杰出青年”、江苏省中青年科学技术带头人、清华大学“学术新秀”等称号。第二章数据采集与预处理2.12.2数据预处理原理2.3数据仓库与ETL工具习题全国高校校标准教教材云计算姊妹篇,剖析大大数据核核心技术术和实战战应用大数据采采集架构构of4232.1大数据采集集架构第二章数数据采采集与预预处理如今,社社会中各各个机构构、部门门、公司司、团体体等正在在实时不不断地产产生大量量的信息息,这些些信息需需要以简简单的方方式进行行处理,同时又又要十分分准确且且能迅速速满足各各种类型型的数据据(信息息)需求求者。这这给我们们带来了了许多挑挑战,第第一个挑挑战就是是在大量量的数

3、据据中收集集需要的的数据,下面介介绍常用用的大数数据采集集工具。of4242.1.1概述2.1大数据采集集架构第二章数数据采采集与预预处理FlumeChukwaScribleKafka大数据采集工具of4252.1.2常用大数数据采集集工具数据采集集最传统统的方式式是企业业自己的的生产系系统产生生的数据据,除上述生产产系统中中的数据据外,企企业的信信息系统统还充斥斥着大量量的用户户行为数数据、日日志式的的活动数数据、事事件信息息等,越来越越多的企业业通过架架设日志志采集系系统来保保存这些些数据,希望通通过这些些数据获获取其商商业或社社会价值值。2.1大数据采集集架构第二章数数据采采集与预预处理

4、of426在Flume中,外部部输入称称为Source(源),系统输输出称为为Sink(接收端端)。Channel(通道)把Source和Sink链接在一起。ApacheChukwa项目与Flume有些相类类似,Chukwa继承了Hadoop的伸缩性性和鲁棒棒性。也内置一个个功能强强大的工工具箱,用于显显示系统统监控和和分析结果。互联网时时代,网络爬虫虫也是许多多企业获获取数据据的一种种方式。Nutch就是网络爬虫虫中的娇娇娇者,Nutch是Apache旗下的开开源项目目,存在在已经超超过10年,拥有有大量的的忠实用用户。Flume体系架构构2.1大数据采集集架构第二章数数据采采集与预预处理o

5、f4272.1.3ApacheKafka数据采集集ApacheKafka被设计成成能够高高效地处处理大量量实时数数据,其其特点是是快速的的、可扩扩展的、分布式式的,分分区的和和可复制制的。Kafka是用Scala语言编写写的,虽虽然置身身于Java阵营,但但其并不不遵循JMS规范。Topics(话题):消息息的分类类名。Producers(消息发发布者):能够够发布消消息到Topics的进程。Consumers(消息接接收者):可以以从Topics接收消息息的进程程。Broker(代理):组成成Kafka集群的单单个节点点。基本Kafka集群的工工作流程程2.1大数据采集集架构第二章数数据采采

6、集与预预处理of4281、TopicsTopics是消息的的分类名名(或Feed的名称)。Kafka集群或Broker为每一个个Topic都会维护护一个分分区日志志。每一一个分区区日志是是有序的的消息序序列,消消息是连连续追加加到分区区日志上上,并且且这些消消息是不不可更改改的。2、日志区区分一个Topic可以有多多个分区区,这些些分区可可以作为为并行处处理的单单元,从从而使Kafka有能力高高效地处处理大量量数据。Topics与日志分分析2.1大数据采集集架构第二章数数据采采集与预预处理of4293、ProducersProducers是向它们们选择的的主题发发布数据据。生产产者可以以选择分

7、分配某个个主题到到哪个分分区上。这可以以通过使使用循环环的方式式或通过过任何其其他的语语义分函函数来实实现。4、ConsumersKafka提供一种种单独的的消费者者抽象,此抽象象具有两两种模式式的特征征消费组组:Queuing和Publish-Subscribe。5、ApacheKafka的安装及及使用因为Kafka是处理网网络上请请求,所所以,应应该为其其创建一一个专用用的用户户,这将将便于对对Kafka相关服务务的管理理,减少少对服务务器上其其他服务务的影响响。2.1大数据采集集架构第二章数数据采采集与预预处理of4210使用useradd命令来创创建一个个Kafka用户:$sudo u

8、seraddkafkam使用passwd命令来设设置其密密码:$sudopasswdkafaka接下来把把kafaka用户添加加到sudo管理组,以便kafaka用户具有有安装ApacheKafka依赖库的的权限。这里使使用adduser命令来进进行添加加:$sudo adduserkafkasudo这时就可可以使用用kafka账户了。 切换换用户可可以使用用su命令:$su- kafka在ApacheKafka安装所依依赖的软软件包前前,最好好更新一一下apt管理程序序的软件件列表:$sudoapt-get updateApacheKafka需要Java运行环境境,这里里使用apt-get命

9、令安装装default-jre包,然后后安装Java运行环境境:$sudoapt-get installdefault-jre通过下面面的命令令测试一一下Java运行环境境是否安安装成功功,并查查看Java的版本信信息:$java-version2.1大数据采集集架构第二章数数据采采集与预预处理of4211机器有如如下显示示:2.1大数据采集集架构第二章数数据采采集与预预处理of42122.1大数据采集集架构第二章数数据采采集与预预处理of42132.1大数据采集集架构第二章数数据采采集与预预处理of42142.1大数据采集集架构第二章数数据采采集与预预处理of42156、使用Java来编写K

10、afka的实例首先,编编写KafkaPperties文件:zk.connect=localhost:2181broker.list=localhost:9092serializer.class=kafka.serializer.StringEncoderrequest.required.acks=1下面的代代码是使使用Java编写了一一个Kafka消息发布布者:importkafka.ducer.Producer;ducer.KeyedMessage;ducer.ProducerConfig;publicclassMyKafkaPro

11、ducer private Producerproducer;private final Stringtopic;publicMyKafkaProducer(Stringtopic)throws ExceptionInputStreamin= Properties.class.getResourceAsStream(KafkaPperties);Properties props =new Properties();props.load(in);ProducerConfigconfig=newProducerConfig(props);producer= newProducer(config);

12、publicvoidsendMessage(Stringmsg)KeyedMessage data=newKeyedMessage(topic, msg);producer.send(data);producer.close();publicstatic voidmain(Stringargs)throwsExceptionMyKafkaProducerproducer=newMyKafkaProducer(HelloTopic);Stringmsg =Hello Kafka!;producer.sendMessage(msg);2.1大数据采集集架构第二章数数据采采集与预预处理of4216下

13、面创建建Comsumer,首先编编写KafkaProperties文件:zk.connect=localhost:2181group.id=testgroupzookeeper.session.timeout.ms =500zookeeper.sync.time.ms=250erval.ms=1000上述参数数配置,十分容容易理解解,具体体的详细细说明,可以参参考Kafka的官方文文档。下下面的代代码是使使用Java编写了一一个Kafka的Comsumer。importjava.io.InputStream;importjava.util.HashMap;importjava.util.Lis

14、t;importjava.util.Map;importjava.util.Properties;importkafka.consumer.ConsumerConfig;importkafka.consumer.ConsumerIterator;importkafka.consumer.KafkaStream;importkafka.javaapi.consumer.ConsumerConnector;importkafka.consumer.Consumer;publicclassMyKafkaConsumer private final ConsumerConnector consumer

15、;private final Stringtopic;publicMyKafkaConsumer(Stringtopic)throws ExceptionInputStreamin= Properties.class.getResourceAsStream(KafkaPperties);Properties props =new Properties();props.load(in);ConsumerConfigconfig=newConsumerConfig(props);consumer= Consumer.createJavaConsumerConnector(config);this.

16、topic =topic;publicvoidconsumeMessage() Map topicMap =new HashMap();topicMap.put(topic, newInteger(1);MapString,ListKafkaStream consumerStreamsMap=consumer.createMessageStreams(topicMap);ListKafkaStreamstreamList=consumerStreamsMap.get(topic);for(final KafkaStreamstream:streamList)ConsumerIteratorco

17、nsumerIte=stream.iterator();while(consumerIte.hasNext()System.out.println(message:+ newString(consumerIte.next().message();if(consumer!=null)consumer.shutdown();publicstatic voidmain(Stringargs)throwsExceptionStringgroupId= testgroup;Stringtopic=HelloTopic;MyKafkaConsumerconsumer=newMyKafkaConsumer(

18、topic);consumer.consumeMessage();第二章数据采集与预处理2.12.2数据预处理原理2.3数据仓库与ETL工具习题全国高校校标准教教材云计算姊妹篇,剖析大大数据核核心技术术和实战战应用大数据采采集架构构of42172.2数据预处处理原理理第二章数数据采采集与预预处理通过数据据预处理理工作,可可以使残残缺的数数据完整整,并将将错误的的数据纠纠正、多多余的数数据去除除,进而而将所需需的数据据挑选出出来,并并且进行行数据集集成。数数据预处处理的常常见方法法有数据据清洗、数据集集成与数数据变换换。of42182.2数据预处处理原理理第二章数数据采采集与预预处理填 充缺 失

19、值数据属性性分为数数值属性性和非数数值属性性进行处处理,通通过利用用已存数数据的多多数信息息来推测测缺失值值数据属性分为为数值属属性和非非数值属属性进行行处理,通过利利用已存存数据的的多数信信息来推推测缺失失值大量采用用同一属属性值,可能会误导挖挖掘程序序得出有有偏差甚甚至错误误的结论论数据偏离的问题小,但该方方法十分分费时,不具备实实际的可操作性性通常当在缺少少类标号号时,通通过这样样的方法法来填补补缺失值值利用均值值替换缺缺失值忽略元组人工填写缺失值使用一个全局常量填充缺失值用属性的均值填充缺失值用同类样样本的属属性均值值填充缺缺失值使用最可可能的值值填充缺缺失值of42192.2.1数据

20、清洗洗2.2数据预处处理原理理第二章数数据采采集与预预处理of4220分箱方法通过考察某一数据周围数据的值,即“近邻”来光滑有序数据的值。分箱01回归02光滑数据可以通过一个函数拟合数据来实现。线性回归的目标就是查找拟合两个属性的“最佳”线,使得其中一个属性可以用于预测出另一个属性。聚类03离群点可通过聚类进行检测,将类似的值组织成群或簇,离群点即为落在簇集合之外的值。许多数据光滑的方法也是涉及离散化的数据归约方法。噪声是被被测量的的变量的的随机误误差或方方差。给给定一个个数值属属性,如如何才能能使数据据“光滑滑”,去去掉噪声声?下面面给出数数据光滑滑技术的的具体内内容。2.2数据预处处理原理

21、理第二章数数据采采集与预预处理of4221数据清洗洗可以视视为一个个过程,包括检检测偏差差与纠正正偏差两两个步骤骤:2纠正偏差1检查偏差可以使用用已有的的关于数数据性质质的知识识发现噪噪声、离离群点和和需要考考察的不不寻常的的值。这这种知识识或“关关于数据据的数据据”称为为元数据据。即一旦发发现偏差差,通常常需要定定义并使使用一系系列的变变换来纠纠正它们们。但这这些工具具只支持持有限的的变换,因此,常常可可能需要要为数据据清洗过过程的这这一步编编写定制制的程序序。2.2数据预处处理原理理第二章数数据采采集与预预处理(1)模式集集成和对对象匹配配问题(2)冗余问题(3)元组重复(4)数据值值冲突

22、的的检测与与处理问问题数据挖掘掘经常需需要数据据集成合合并来自自多个数数据存储储的数据据。数据据还可能能需要变变换成适适于挖掘掘的形式式。数据据分析任任务多半半涉及数数据集成成。问题of42222.2.2数据集成成2.2数据预处处理原理理第二章数数据采采集与预预处理1、光滑。去除数数据中的的噪声2、聚集。对数据据进行汇汇总或聚聚集。3、数据泛化。使使用概念念分层,用高层层概念替替换低层层或“原始始”数据4、规范化。将属性性数据按按比例缩缩放,使使之落入入一个小的特定区间间5、属性构造。可以构造造新的属属性并添添加到属属性集中中,以帮帮助挖掘掘过程of42232.2.3数据变换换数据变换换的目的

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

24、据仓库库与ETL工具具数据仓库库,是在在企业管管理和决决策中面面向主题题的、集集成的、随时间间变化的的、非易易失性数数据的集集合。2.3数据仓库与ETL工具第二章数数据采采集与预预处理如何获取取并向数数据仓库库加载数数据量大大、种类类多的数数据,一一般要使使用专业业的数据据抽取、转换和和装载工工具,这这些工具具合并起起来被称称为ETL(Extract-Transform-Load)。Informatica PowerCenter常用ETL工具IBMDatastageWarehouse Builder(OWB)Oracle Data Integrator(ODI)Microsoft SQLServer In

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论