数据采集第四章 数据预处理实践
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如:使用以下模式存储数据。
column id
名字
姓氏
电话号码
城市
datatype in chararray t
chararray
chararray
chararray
注意: Load语句会简单地将数据加载到Pig的指定的关系中。
(2) STORE:保存relation到文件系统或者其他存储 Store语法格式。
(3) DUMP: 输出一个relation到控制台
在控制台上打印关系的内容。
(2)过滤 ① FILTER FILTER 运算符用于根据条件从关系中选择所需的元组。下面给出了 FILTER 语法如图所示:
grunt> Relation2_name = FILTER Relation1_name BY (condition);
(1)载入和存储 ① LOAD:从文件系统或者其他存储载入数据到一个relation Load语句由两部分组成,用“=”运算符分隔。在左侧为存储数据关系的名 称,右侧为定义如何存储数据。下面给出了 Load 运算符的语法:
Relation_name = LOAD 'Input file path' USING function as schema;
说明: ➢Relation_name:必须提到要存储数据的关系。 ➢Input file path :必须提到存储文件的HDFS目录。(在MapReduce模式 下) ➢Function:必须从Apache Pig提供的一组加载函数中选择一个函数 ( BinStorage,JsonLoader,PigStorage,TextLoader )。 ➢Schema:必须定义数据的模式,如:(column1 : data type, column2 : data type, column3 : data type);
在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
现在,通过在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 );
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.
上述对于参数的说明如表所示:
Relation name
Input file path
Storage function
schema
已将数据存储在学生(student)模式中。 从HDFS的/pig_data/目录中的 student_data.txt 文件读取数据。
使用了 PigStorage() 函数,将数据加载并存储为结构化文本文件。它采用分 隔符,使用元组的每个实体作为参数分隔。默认情况下,它以“\t"作为参数。
现在将关系存储在HDFS目录“/pig_Output/"中,代码如下:
grunt> STORE student INTO ' hdfBiblioteka Baidu://localhost:9000/pig_Output/ ' USING PigStorage (',');
执行 store 语句后,将使用指定的名称创建目录,并将数据存储在其 中。
知识目标
了解大数据预处理工具的使用方法。
02
任务4.1: 用Pig进行数据预处理
任务描述
(1)学习Pig的相关基础知识。 (2)使用Pig实现“北京公交线路信息”数据的预处理。
任务目标
(1)熟悉Pig的相关基础知识; (2)使用Pig完成“北京公交线路信息”数据的预处理。
知识准备
1. Pig中主要的操作如下: 在本地文件系统中,创建一个包含数据的输入文件 student_data.txt , 如下所示,并使用 put 命令将文件从本地文件系统移动到HDFS上。
第四章 数据预处理实践
目录
Contents
01
用Pig进行 数据预处理
02
用kettle进行 数据预处理
03
04
用openrefine 使用FlumeInterceptor 进行据预处理 对日志信息进行数据预处理
01
学习目标
学习目标
技能目标
学会使用Pig进行数据预处理。 学会使用kettle进行数据预处理。 学会使用pandas进行数据预处理。 学会使用openrefine进行数据预处理。 学会使用Flume Interceptor进行日志数据预处理。
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 );