Apache Pig中Foreach运算符语法是什么
Admin 2022-09-29 群英技术资讯 541 次浏览
FOREACH 运算符用于基于列数据生成指定的数据转换。
下面给出了 FOREACH 运算符的语法。
grunt> Relation_name2 = FOREACH Relatin_name1 GENERATE (required data);
假设在HDFS目录 /pig_data/ 中有一个名为 student_details.txt 的文件,如下所示。
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
通过关系 student_details 将此文件加载到的Pig中,如下所示。
grunt> student_details = LOAD 'hdfs://localhost:9000/pig_data/student_details.txt' USING PigStorage(',') as (id:int, firstname:chararray, lastname:chararray,age:int, phone:chararray, city:chararray);
现在让我们从关系 student_details 中获取每个学生的id,age和city值,并使用 foreach 运算符将它存储到另一个名为 foreach_data 关系,如下所示。
grunt> foreach_data = FOREACH student_details GENERATE id,age,city;
使用 DUMP 运算符验证关系 foreach_data ,如下所示。
grunt> Dump foreach_data;
它将产生以下输出,显示关系 foreach_data 的内容。
(1,21,Hyderabad) (2,22,Kolkata) (3,22,Delhi) (4,21,Pune) (5,23,Bhuwaneshwar) (6,23,Chennai) (7,24,trivendram) (8,24,Chennai)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
RDD的创建可以通过2种方式, 通过并行化集合创建( 本地对象转分布式RDD )和通过读取外部数据源( 读取文件)创建,如下:
配置hadoop之前做好准备工作1.修改主机名称,我这里创建了三个虚拟主机,分别命名node-1,node-2,node-3,进入 network 文件删掉里面的内容直接写上主机名就可以了vi /etc/sysconfig/network2.映射 IP 和主机名,之后 reboot 重启主机
Load 语句会简单地将数据加载到Apache Pig中的指定关系中。要验证Load语句的执行,必须使用Diagnostic运算符。Pig Latin提供四种不同类型的诊断运算符: Dump运算符、Describe运算符、Explanation运算符、Illustration运算符
Pig Latin的 UNION 运算符用于合并两个关系的内容。要对两个关系执行UNION操作,它们的列和域必须相同。语法下面给出了 UNION 运算符的语法。
Pig Latin是用于使用Apache Pig分析Hadoop中数据的语言。在本章中,我们将讨论Pig Latin的基础知识,如Pig Latin语句,数据类型,通用运算符,关系运算符和Pig Latin UDF。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008