2016-12-08 32 views
0

我有以下输出(一行)一个猪查询PIG - 转换的袋元件到字段

(6,{(6,76,35,1565),(6,76,76,920 ),(6,35,76,906),(6,177,35,822),(6,268,35,720),(6,35,177,701),(6,35,268,694),(6,35,35,656),(6,85,85,611), (6,35,90,559)})

我想我的包中的每个元素转换成领域,所以

(6,(6,76,35,1565),( 6,76,76,920),(6,35,76,906),(6,177,35 ,822),(6,268,35,720),(6,35,177,701),(6,35,268,694),(6,35,35,656),(6,85,85,611),(6,35,90,559))

在哪里可以命名具有不同名称的每个字段:X1,X2,X3,..., 我试图平整而是由一排用于将袋子中的每个元素:

6,(6 ,76,35,1565)

6,(6,76,76,920)

6,(6,35,76,906)

而且我希望所有元素都保留在一行中。

任何想法?

回答

0

你将不得不使用BagToTuple。假设你有2场的关系的。

B = FOREACH A GENERATE A.$0,FLATTEN(BagToTuple(A.$1));