从元组到数组的pig

ebdffaop  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(242)

我有这个元组:(es,(ab,cd)),我想使用flatten来取消测试并创建以下元组:(es,[ab,cd]),因为我想稍后将第二个元素作为数组存储到mongo中。我应该在foreach b generate flatten(m)中将哪个模式定义为[schema]?

xqk2d5yq

xqk2d5yq1#

pig没有任何内置函数或模式来将元组转换为数组。不确定这个黑客解决方案是否能帮到你,但你可以试一试。
输入文件

ES      (AB,CD)

Pig手稿:

A = LOAD 'input.txt' AS (f1:chararray,tuple:(f2:chararray,f3:chararray));
B = FOREACH A GENERATE f1,CONCAT('[',$1.f2),CONCAT($1.f3,']');
DUMP B;

输出:

(ES,[AB,CD])

相关问题