数据采集-数据预处理实践

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 数据预处理实践
南京交通职业技术学院
授课讲师:XXX
目录
Contents
01
用Pig进行 数据预处理
02
用kettle进行 数据预处理
03
04
用openrefine 使用FlumeInterceptor 进行据预处理 对日志信息进行数据预处理
01
学习目标
学习目标
技能目标
学会使用Pig进行数据预处理。 学会使用kettle进行数据预处理。 学会使用pandas进行数据预处理。 学会使用openrefine进行数据预处理。 学会使用Flume Interceptor进行日志数据预处理。
现在,通过在Grunt shell中执行以下Pig Latin语句,将文件 student_data.txt 中的数据加载到Pig中。
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt' USING PigStorage(',') as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );
现在将关系存储在HDFS目录“/pig_Output/"中,代码如下:
grunt> STORE student INTO ' hdfs://localhost:9000/pig_Output/ ' USING PigStorage (',');
执行 store 语句后,将使用指定的名称创建目录,并将数据存储在其 中。
001,Rajiv,Reddy,9848022337,Hyderabad 002,siddarth,Battacharya,9848022338,Kolkata 003,Rajesh,Khanna,9848022339,Delhi 004,Preethi,Agarwal,9848022330,Pune 005,Trupthi,Mohanthy,9848022336,Bhuwaneshwar 006,Archana,Mishra,9848022335,Chennai.
知识目标
了解大数据预处理工具的使用方法。
02
任务4.1: 用Pig进行数据预处理
任务描述
(1)学习Pig的相关基础知识。 (2)使用Pig实现“北京公交线路信息”数据的预处理。
任务目标
(1)熟悉Pig的相关基础知识; (2)使用Pig完成“北京公交线路信息”数据的预处理。
知识准备
1. Pig中主要的操作如下: 在本地文件系统中,创建一个包含数据的输入文件 student_data.txt , 如下所示,并使用 put 命令将文件从本地文件系统移动到HDFS上。
说明: ➢Relation_name:必须提到要存储数据的关系。 ➢Input file path :必须提到存储文件的HDFS目录。(在MapReduce模式 下) ➢Function:必须从Apache Pig提供的一组加载函数中选择一个函数( BinStorage,JsonLoader,PigStorage,TextLoader )。 ➢Schema:必须定义数据的模式,如:(column1 : data type, column2 : data type, column3 : data type);
STORE Relation_name INTO ' required_directory_path ' [USING function];
首先使用LOAD运算符将它读入关系 student ,代码如下:
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt' USING PigStorage(',') as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );
在HDFS目录 /pig_data/ 中有一个名为 student_details.txt 的文件,内容 如图所示:
001,Rajiv,Reddy,21,9848022337,Hyderabad 002,siddarth,Battacharya,22,9848022338,Kolkata 003,Rajesh,Khanna,22,9848022339,Delhi 004,Preethi,Agarwal,21,9848022330,Pune 005,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar 006,Archana,Mishra,23,9848022335,Chennai 007,Komal,Nayak,24,9848022334,trivendram 008,Bharathi,Nambiayar,24,9848022333,Chennai
(3) DUMP: 输出一个relation到控制台
在控制台上打印关系的内容。
(2)过滤 ① FILTER FILTER 运算符用于根据条件从关系中选择所需的元组。下面给出了 FILTER 语法如图所示:
grunt> Relation2_name = FILTER Relation1_name BY (condition);
(1)载入和存储 ① LOAD:从文件系统或者其他存储载入数据到一个relation Load语句由两部分组成,用“=”运算符分隔。在左侧为存储数据关系的名 称,右侧为定义如何存储数据。下面给出了 Βιβλιοθήκη Baiduoad 运算符的语法:
Relation_name = LOAD 'Input file path' USING function as schema;
如:使用以下模式存储数据。
column id
名字
姓氏
电话号码
城市
datatype in chararray t
chararray
chararray
chararray
注意: Load语句会简单地将数据加载到Pig的指定的关系中。
(2) STORE:保存relation到文件系统或者其他存储 Store语法格式。
上述对于参数的说明如表所示:
Relation name
Input file path
Storage function
schema
已将数据存储在学生(student)模式中。 从HDFS的/pig_data/目录中的 student_data.txt 文件读取数据。
使用了 PigStorage() 函数,将数据加载并存储为结构化文本文件。它采用分 隔符,使用元组的每个实体作为参数分隔。默认情况下,它以“\t"作为参数。
相关文档
最新文档