【发布时间】:2018-06-12 00:22:20
【问题描述】:
我创建了名为 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 的员工的数据加载到分桶表中,并且在加载时我必须将 "consultant" 角色 转换为 大数据顾问角色。
我知道如何使用 select 命令将数据插入到我的分桶表中,但需要一些指导,如何将上面角色列中的 consultant 值更改为 BigData advisor 插入时。
任何帮助表示赞赏
【问题讨论】:
-
用 CASE 语句替换插入期间的列选择。说,如果是顾问,则插入另一个值
-
如果你展示了你已经写的
insert声明,它会更容易帮助你。 -
@Guillaume 下面是我的插入语句
INSERT TABLE bucketed_user PARTITION (salary) select id, age,gender,role,salary FROM stage_table where salary > 10000
标签: hadoop hive hadoop-partitioning