首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >插入到单元表中时转换值

插入到单元表中时转换值
EN

Stack Overflow用户
提问于 2018-06-12 00:22:20
回答 1查看 629关注 0票数 0

我已经将称为emp_bucket的桶形表创建为聚集在工资列上的4个桶。该表的结构如下:

代码语言:javascript
运行
复制
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)

我还有一个暂存表,在那里我可以将数据插入到上面的桶形表中。以下是暂存表中的示例数据:

代码语言:javascript
运行
复制
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顾问

感谢你的任何帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-12 08:22:52

基于您的insert,您只需要处理selectrole部分

代码语言:javascript
运行
复制
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
;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50807705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档