我有这个元组:(es,(ab,cd)),我想使用flatten来取消测试并创建以下元组:(es,[ab,cd]),因为我想稍后将第二个元素作为数组存储到mongo中。我应该在foreach b generate flatten(m)中将哪个模式定义为[schema]?
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])
1条答案
按热度按时间xqk2d5yq1#
pig没有任何内置函数或模式来将元组转换为数组。不确定这个黑客解决方案是否能帮到你,但你可以试一试。
输入文件
Pig手稿:
输出: