插入 HIVE 时转换值 table
Convert value while inserting into HIVE table
我创建了名为 emp_bucket 的分桶 table 到聚集在工资列上的 4 个桶中。 table的结构如下:
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)
我还有一个分段 table,我可以从那里将数据插入到上面的分桶 table 中。以下是暂存中的示例数据 table:
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 的员工的数据加载到分桶 table 中,加载时我必须转换 "consultant" 角色到大数据顾问角色。
我知道如何使用 select 命令将数据插入到我的存储桶 table 中,但需要一些指导如何使角色中的 consultant 值上面的栏目可以在插入的时候改成大数据顾问。
感谢任何帮助
根据您的 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
;
我创建了名为 emp_bucket 的分桶 table 到聚集在工资列上的 4 个桶中。 table的结构如下:
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)
我还有一个分段 table,我可以从那里将数据插入到上面的分桶 table 中。以下是暂存中的示例数据 table:
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 的员工的数据加载到分桶 table 中,加载时我必须转换 "consultant" 角色到大数据顾问角色。
我知道如何使用 select 命令将数据插入到我的存储桶 table 中,但需要一些指导如何使角色中的 consultant 值上面的栏目可以在插入的时候改成大数据顾问。
感谢任何帮助
根据您的 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
;