如何解决输出在Pig中两个值之间有空格的元组
我一直在使用Pig来过滤包含以制表符分隔形式的数据的大文件。该文件中的数据采用以下格式-fname lname age
Bill Gates 50
Warren Buffet 100
Elon Musk 80
Jack Dorsey 10
我想过滤掉年龄大于50岁的那个过滤器,并使用Pig将结果数据以(fname lname)形式存储在文件中。
这是我正在使用的代码-
data = LOAD 'persons.txt' AS (fname:chararray,lname:chararray,age:int);
data1 = FILTER data BY age > 50;
data2 = FOREACH data1 GENERATE (fname,lname);
STORE data2 INTO 'result.txt';
(Warren,Buffet)
(Elon,Musk)
(Warren Buffet)
(Elon Musk)
为了获得这种输出,我尝试使用FOREACH data1 GENERATE (fname lname)
,而fname和lname之间没有逗号。但是显示错误Synatx error,unexpected symbol at or near fname
。
有人可以帮助我如何获得正确的输出吗?
注意->我不在本地的Hadoop群集上运行Pig。
解决方法
在CONCAT
中使用fname和lname之间的空格
data2 = FOREACH data1 GENERATE CONCAT(fname,' ',lname);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。