将select语句与HIve中的if条件一起使用,以填充另一列

时间:2018-06-28 07:23:47

标签: sql hive bigdata hiveql

列:hp(数值),power_rate(空/ NULL)。

如果hp> 70

power_rate列应填充为“功能强大”

其他

power_rate应该为“中等”。

如何使用Hive实现这一目标。

2 个答案:

答案 0 :(得分:1)

使用case语句:

insert overwrite table 
select hp, case when hp>70 then 'powerful' else 'moderate' end as power_rate
  from table

答案 1 :(得分:0)

如果你想在新表中填充一列(不编辑现有表),有一种方法,

CREATE TABLE <new_table_name> SELECT hp, CASE WHEN hp>70 THEN 'powerful' ELSE 'moderate' END AS power_rate from <previous_table_name>

注意:这里的两个表都是在同一个数据库中创建的。 如果您想填充现有表格,请参考@leftjoin 发布的上述答案