hadoop - 输出在Pig中两个值之间有空格的元组

标签 hadoop apache-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);

关于hadoop - 输出在Pig中两个值之间有空格的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64409919/

相关文章:

hadoop - 我可以区分Hive中的每一列吗?

hadoop - 根据输入数字生成不同数量的列

java - 如何在操作书中的 mahout 中运行示例

hadoop - HDFS 和 ADLS 有什么区别?

hadoop - 在 Hadoop Hive Pig 场景中需要专家帮助

hadoop - Pig Latin 中的 FOREACH 多个数据

hadoop - 如何用Pig转换目标值?

hadoop - 用hadoop实现工厂流水线结构

hadoop - hortonworks 沙箱 pig 脚本

java - 从 Pig UDF 访问 HDFS