Hadoop 在pig中输出两个值之间有空格的元组
我一直在使用pig过滤一个大文件,其中包含以制表符分隔的格式显示的数据。该文件中的数据格式如下-fname lname ageHadoop 在pig中输出两个值之间有空格的元组,hadoop,apache-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:cha
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)
这不是我想要的输出,而是我想要得到以下输出-
(Warren,Buffet)
(Elon,Musk)
(Warren Buffet)
(Elon Musk)
为了获得这种输出,我尝试使用foreachdata1generate(fname-lname)
在fname和lname之间不使用逗号。但它显示错误Synatx错误,fname处或附近出现意外符号
有人能帮我吗?我怎样才能得到正确的输出
注意->我正在Hadoop集群上运行Pig,而不是在本地运行。在fname和lname之间使用空格
data2 = FOREACH data1 GENERATE CONCAT(fname,' ',lname);