Hadoop 猪的动态元组?

Hadoop 猪的动态元组?,hadoop,apache-pig,Hadoop,Apache Pig,我在pig中获得了元组数据 0,(0),(zero) 1,(1,2),(first,second) 我能收到这个吗 0,0,zero 1,1,first 1,2,second 首先,我要更正您的术语,您应该将(0)和(1,2)视为包,而不是元组。元组是表示某种实体的定长数据结构。例如说(姓名、地址、出生年份)。如果您有一个类似对象的列表,如{(苹果),(橙色),(香蕉)},您需要一个包 不存在允许您“压缩”多个行李/列表的行为。原因是从设计角度来看,Pig将袋

我在pig中获得了元组数据

   0,(0),(zero)
   1,(1,2),(first,second)
我能收到这个吗

   0,0,zero
   1,1,first
   1,2,second

首先,我要更正您的术语,您应该将
(0)
(1,2)
视为包,而不是元组。元组是表示某种实体的定长数据结构。例如说
(姓名、地址、出生年份)
。如果您有一个类似对象的列表,如
{(苹果),(橙色),(香蕉)}
,您需要一个包


不存在允许您“压缩”多个行李/列表的行为。原因是从设计角度来看,Pig将袋子视为无序列表,因此术语“袋子”不是“列表”。这种假设确实有助于并行性,因为您不必考虑顺序。因此,很难将
1
first
相匹配



您可以尝试编写一个以两个包为参数的列表,然后将两个列表拉上拉链,然后将其中一个列表拉上拉链返回

那么您尝试了什么呢?我创建了带有动态元组的UDF。例如,您不能从
STRSPLIT
获得这样的输出吗?他可以使用
STRSPLIT
生成单独的包,但是您仍然需要压缩它们。但是
STRSPLIT
返回一个元组。对
$0
0的数据执行类似于
STRSPLIT($0,,:')
的操作和
第一:第二次
应该产生OP所说的内容。@mr2如果您不发布答案,我会有兴趣更清楚地看到您所说的内容。我可以使用FOREACH t3生成col1,col2.$0,col3.$0;和UNION FOREACH t3生成col1,col2.$1,col3.$1?