在 pig 的两个值之间输出 space 的元组

Outputting a tuple with space between two values in 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 不是本地的。

在 fname 和 lname

之间使用 CONCAT 和 space
data2 = FOREACH data1 GENERATE CONCAT(fname,' ',lname);