这是我的意见
user0=242561&friend=6226&friend=93856&age=35&friend=35900
user1=242562&friend=6226&friend=93856&age=35&friend=35900
user2=242563&friend=6226&friend=93856&age=35&friend=35900&friend=33900&friend=34900
user3=242564&friend=6226&friend=93856&age=35&friend=35900&friend=35930&friend=35920&friend=35901
注意事项和要求
我需要去掉年龄=35
我需要得到与用户相关联的朋友号码(在输入一行将有一个用户)的用户
朋友的数量会有所不同,朋友的最大数量也不知道
预期结果
user0=242562-6226,93856,35900
user1=242562-6226,93856,35900
user2=242562-6226,93856,35900,33900,34900
user3=242562-6226,93856,35900,35930,35920,35901
我试过这样的方法,但没用
inputs = LOAD '/data/friends4' AS (line:chararray);
tokenized = FOREACH inputs GENERATE FLATTEN(TOKENIZE(line, '&')) AS parameter;
filtered = FILTER tokenized BY INDEXOF(parameter, 'age=') != 0;
dump filtered;
我越来越
(user=242562)
(friend=6226)
(friend=93856)
(friend=35900)
(user1=242562)
(friend=6226)
(friend=93856)
(friend=35900)
(user2=242562)
(friend=6226)
(friend=93856)
(friend=35900)
(friend=33900)
(friend=34900)
(user3=242562)
(friend=6226)
(friend=93856)
(friend=35900)
(friend=35930)
(friend=35920)
(friend=35901)
现在我需要下面的结果,有人能帮我吗
user0=242562-6226,93856,35900
user1=242562-6226,93856,35900
user2=242562-6226,93856,35900,33900,34900
user3=242562-6226,93856,35900,35930,35920,35901
1条答案
按热度按时间zf2sa74q1#
你可以创建一个自定义项来处理它,虽然你可以尝试下面的脚本,我只是在你的脚本中添加一行来替换'friend='为','现在你可以创建一个自定义项,它将从空格中拆分字符串,而不是替换first','为'-'
输出