猪的虚拟列

时间:2015-10-13 15:07:58

标签: hadoop apache-pig unpivot

我当前的表结构包含以下列:

id, name, height, weight

我需要解锁它,以便单个id将有2个条目 - 一个用于高度,一个用于重量。查询在Hive中就像这样:

select id, name, "height" attribute, height as value
from table1
union all
select id, name, "weight" attribute, height as value
from table1

我如何在Pig中这样做?

1 个答案:

答案 0 :(得分:0)

不完全重复,但接近: Pivot table with Apache Pig

这是一个解决方案。

顺便说一句,我假设你的查询第4行有一个拼写错误。

raw = load 'data.txt' as (id, name, height, weight);
a = foreach raw generate id, name, TOBAG(('height', height), ('weight', weight)) as vbag;
b = foreach a {
generate id, name, flatten(vbag);
};
dump b;