gpt4 book ai didi

hadoop - pig 过滤器不工作

转载 作者:可可西里 更新时间:2023-11-01 16:29:24 25 4
gpt4 key购买 nike

我有以下 pig 脚本,

meta_file = LOAD 'meta_file' USING PigStorage(',');

DUMP meta_file;

meta = FOREACH meta_file GENERATE (chararray)$0 AS is_vta:chararray, (chararray)$1 AS id:long;

DUMP meta;

new_d = FILTER meta BY (is_vta == 't');
DUMP new_d;

元文件的内容:

"t","7181397"
"t","6331589"
"f","7266217"
"t","6051440"
"t","6901437"
"t","6805292"
"f","7144764"
"t","6820265"
"f","7515321"
"t","4777938"

meta_file 的 DUMP 完全没问题,与文件的内容相同,meta 的内容也是如此,但是 new_d 是空的。我可以看到 meta 中有 is_vta,其值为 t,但 new_d 仍然是空的。为什么 meta 没有被正确过滤?我在这里做错了什么?我是 Pig Latin 的新手,无法弄清楚这里可能存在的问题。

感谢您的帮助。

最佳答案

简单的方法:

new_d = FILTER meta BY is_vta MATCHES '.*t.*';

另一种解决方案:

remquotes = FOREACH meta GENERATE REPLACE($0, '\\"', '') AS is_vta:chararray, id;

new_d = FILTER remquotes BY is_vta == 't';

关于hadoop - pig 过滤器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42152953/

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