Apache Pig Distinct运算符
Admin 2022-09-29 群英技术资讯 578 次浏览
DISTINCT 运算符用于从关系中删除冗余(重复)元组。
下面给出了 DISTINCT 运算符的语法。
grunt> Relation_name2 = DISTINCT Relatin_name1;
假设在HDFS目录 /pig_data/ 中有一个名为 student_details.txt 的文件,如下所示。
student_details.txt
001,Rajiv,Reddy,9848022337,Hyderabad 002,siddarth,Battacharya,9848022338,Kolkata 002,siddarth,Battacharya,9848022338,Kolkata 003,Rajesh,Khanna,9848022339,Delhi 003,Rajesh,Khanna,9848022339,Delhi 004,Preethi,Agarwal,9848022330,Pune 005,Trupthi,Mohanthy,9848022336,Bhuwaneshwar 006,Archana,Mishra,9848022335,Chennai 006,Archana,Mishra,9848022335,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, phone:chararray, city:chararray);
现在,让我们使用 DISTINCT 运算符从 student_details 关系中删除冗余(重复)元组,并将其另存在一个名为 distinct_data 的关系 如下所示。
grunt> distinct_data = DISTINCT student_details;
使用 DUMP 运算符验证关系 distinct_data ,如下所示。
grunt> Dump distinct_data;
它将产生以下输出,显示关系 distinct_data 的内容如下。
(1,Rajiv,Reddy,9848022337,Hyderabad) (2,siddarth,Battacharya,9848022338,Kolkata) (3,Rajesh,Khanna,9848022339,Delhi) (4,Preethi,Agarwal,9848022330,Pune) (5,Trupthi,Mohanthy,9848022336,Bhuwaneshwar) (6,Archana,Mishra,9848022335,Chennai)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CROSS 运算符计算两个或多个关系的向量积。本章将以示例说明如何在Pig Latin中使用cross运算符。语法下面给出了 CROSS 运算符的语法。grunt> Relation3_name = CROSS Relation1_name, Relation2_name;
DISTINCT 运算符用于从关系中删除冗余(重复)元组。语法下面给出了 DISTINCT 运算符的语法。grunt> Relation_name2 = DISTINCT Relatin_name1;
FOREACH 运算符用于基于列数据生成指定的数据转换。语法下面给出了 FOREACH 运算符的语法。grunt> Relation_name2 = FOREACH Relatin_name1 GENERATE (required data);
FILTER 运算符用于根据条件从关系中选择所需的元组。语法下面给出了 FILTER 运算符的语法。grunt> Relation2_name = FILTER Relation1_name BY (condition);
ORDER BY 运算符用于以基于一个或多个字段的排序顺序显示关系的内容。语法下面给出了 ORDER BY 运算符的语法。grunt> Relation_name2 = ORDER Relatin_name1 BY (ASC|DESC);
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008