【发布时间】:2013-08-12 06:38:39
【问题描述】:
让我解释一下这个问题。我有这行代码:
u = FOREACH persons GENERATE FLATTEN($0#'experiences') as j;
dump u;
产生这个输出:
([id#1,date_begin#12 2012,description#blabla,date_end#04 2013],[id#2,date_begin#02 2011,description#blabla2,date_end#04 2013])
([id#1,date_begin#12 2011,description#blabla3,date_end#04 2012],[id#2,date_begin#02 2010,description#blabla4,date_end#04 2011])
然后,当我这样做时:
p = foreach u generate j#'id', j#'description';
dump p;
我有这个输出:
(1,blabla)
(1,blabla3)
但这不是我想要的。我想要这样的输出:
(1,blabla)
(2,blabla2)
(1,blabla3)
(2,blabla4)
我怎么会有这个?
非常感谢。
【问题讨论】:
-
在第一个区块中你做
dump j;,你的意思是dump u;?另外,你能提供DESCRIBE u;的输出吗? -
是的,谢谢。 DESCRIBE u 产生这个输出: u: {j: bytearray}
标签: hadoop bigdata apache-pig