"Flattening" Pig 中的一个数据包

"Flattening" a databag in Pig

假设我有一堆从 Pig UDF 生成的数据包,其中包含多个字符串元组。我怎样才能将它们全部从数据包中拉出来并简单地使每个字符串成为自己的 "row" 数据。

databags = FOREACH data GENERATE pigUdfThatMakesDataBags(data::someText); strings = FOREACH databags { ??? };

我没看错你在找 FLATTEN 吗?

databags = FOREACH data GENERATE pigUdfThatMakesDataBags(data::someText);
datatuples = FOREACH databags FLATTEN([=10=]);      -- Bag to Tuples 
strings = FOREACH datatuples FLATTEN(TOBAG(*)); -- Tuples to Tokens'
DUMP strings;