我已经将称为emp_bucket的桶形表创建为聚集在工资列上的4个桶。该表的结构如下:
hive> describe Consultant_Table_Bucket;
OK
id int
age int
gender string
role string
salary double
Time taken: 0.069 seconds, Fetched: 5 row(s)我还有一个暂存表,在那里我可以将数据插入到上面的桶形表中。以下是暂存表中的示例数据:
id age Gender role salary
-----------------------------------------------------
938 38 F consultant 55038.0
939 26 F student 33319.0
941 20 M student 97229.0
942 48 F consultant 78209.0
943 22 M consultant 77841.0我的要求是将数据加载到工资高于10,000的员工的桶形表中,在加载时,我必须将“顾问”转换为BigData顾问角色。
我知道如何使用select命令将数据插入到我的桶形表中,但需要提供一些指导,如何在插入时将上面的角色列中的顾问值更改为BigData顾问。
感谢你的任何帮助
发布于 2018-06-12 08:22:52
基于您的insert,您只需要处理select的role部分
INSERT into TABLE bucketed_user PARTITION (salary)
select
id
, age
, gender
, if(role='consultant', 'BigData consultant', role) as role
, salary
FROM
stage_table
where
salary > 10000
;https://stackoverflow.com/questions/50807705
复制相似问题