gpt4 book ai didi

hadoop - 删除 Pig 输出中的括号和逗号

转载 作者:可可西里 更新时间:2023-11-01 14:53:42 24 4
gpt4 key购买 nike

目前我的输出如下:

((130,1))
((131,1))
((132,1))
((133,1))
((137,1))
((138,2))
((139,1))
((140,1))
((142,2))
((143,1))

我想要这样:

130 1
131 1
132 1

我的代码如下:

A = LOAD 'user-links-small.txt' AS (user_a: int, user_b: int);
B = ORDER A BY user_a;
grouped = COGROUP B BY user_a;
C = FOREACH grouped GENERATE COUNT(B);
D = COGROUP C BY $0;
E = FOREACH D GENERATE($0, COUNT($1));
DUMP E;

我浏览了这些论坛,有些人建议实现这一点的方法是编写一个用户定义的函数。我可以试试,但我是 Pig 的新手,想更详细地了解它的功能。我在 flatten() 上找到了一些东西,但无法真正获得该输出。有没有办法如图所示删除括号和逗号?在此先感谢您的帮助!

最佳答案

如果您默认使用DUMP 命令,输出将存储为元组(即转储到函数括号内的所有字段,由分隔符',' 分隔)

您可以使用 FLATTEN 运算符删除第一个括号,使用 STORE 命令删除第二个括号和 ','

试试这个

E = FOREACH D GENERATE FLATTEN(($0, COUNT($1)));
STORE E INTO 'output' USING PigStorage(' ');

转到文件夹'output' 并检查文件名以part* 开头。你会看到这样的输出
130 1
131 1
第 132 章

关于hadoop - 删除 Pig 输出中的括号和逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26893141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com