hive列​​到行

时间:2017-11-13 15:34:00

标签: hadoop hive hiveql

如何根据现有列中存储的类型在HIVE中创建新列?

例如,我有:

id    ProductType
1       car
2       bike
3       truck

我希望:

id    car    bike    truck
1      1     null    null
2     null     1     null
3     null   null      1   

1 个答案:

答案 0 :(得分:0)

Use `case` statement to convert values into columns:

select id, case when ProductType = 'car' then 1 end as car,
           case when ProductType = 'bike' then 1 end as bike,
           case when ProductType = 'truck' then 1 end as truck
 from your_table;

OK
id      car     bike    truck
1       1       NULL    NULL
2       NULL    1       NULL
3       NULL    NULL    1
Time taken: 35.442 seconds, Fetched: 3 row(s)