前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive应用:设置字段默认值 原

Hive应用:设置字段默认值 原

作者头像
云飞扬
发布2019-03-13 10:16:02
5K0
发布2019-03-13 10:16:02
举报
文章被收录于专栏:星汉技术星汉技术

介绍

有以下场景需要我们给字段添加默认值。

当我们清理了一些数据之后,数据的某些字段在数据中是没有的但是需要保留这个字段,那么我们将数据插入中转表中时,就需要给这个字段赋予默认值,来让语句正确执行。

本人知道的添加默认值的方法有以下两种:

直接量

在写插入语句的时候,可以直接在语句中将默认值写入。

例如:

代码语言:javascript
复制
insert into table User_Attribute select (row_number() over())+1000 as id,customid,0 as age from tbl_custom;

如上面的语句,清理的数据中没有年龄字段,而中转表中有这个字段,那么在插入的时候就直接将默认值0赋给这个字段。其他类型的直接量也一样。

示例:

代码语言:javascript
复制
hive> select * from person;
OK
1.0	张三	20.0	男	未知
2.0	李四	25.0	男	河北
3.0	张飞	30.0	男	河北
4.0	关羽	35.0	男	山东
5.0	小乔	38.0	女	浙江
6.0	刘备	40.0	男	成都
7.0	小李	29.0	男	江南

以上是本人hive中一个表中的数据,本人想把这个数据导入到另外一张表中,添加一个test int类型的字段,那么有如下操作:

代码语言:javascript
复制
hive> create table ren(id string,name string,age string,gender string,address string,test int) row format delimited fields terminated by '|';
OK
Time taken: 0.415 seconds
hive> insert into table ren select * , 0 as test from person;

执行完插入语句,我们看一下数据:

代码语言:javascript
复制
hive> select * from ren;
OK
1.0	张三	20.0	男	未知	0
2.0	李四	25.0	男	河北	0
3.0	张飞	30.0	男	河北	0
4.0	关羽	35.0	男	山东	0
5.0	小乔	38.0	女	浙江	0
6.0	刘备	40.0	男	成都	0
7.0	小李	29.0	男	江南	0
Time taken: 0.61 seconds, Fetched: 7 row(s)
hive> 

插入成功,并且成功的增加了字段而且赋予了默认值。

内置函数

除了直接量的方法,我们还可以使用Hive的内置函数来做到这一点。

示例:

还是上面的例子,这次使用内置函数来完成,操作如下:

代码语言:javascript
复制
hive> insert into table ren select * , abs(0) as test from person;

这次使用的是求绝对值的函数,将这个值赋予test字段。

看一下数据:

代码语言:javascript
复制
hive> select * from ren;
OK
1.0	张三	20.0	男	未知	0
2.0	李四	25.0	男	河北	0
3.0	张飞	30.0	男	河北	0
4.0	关羽	35.0	男	山东	0
5.0	小乔	38.0	女	浙江	0
6.0	刘备	40.0	男	成都	0
7.0	小李	29.0	男	江南	0
1.0	张三	20.0	男	未知	0
2.0	李四	25.0	男	河北	0
3.0	张飞	30.0	男	河北	0
4.0	关羽	35.0	男	山东	0
5.0	小乔	38.0	女	浙江	0
6.0	刘备	40.0	男	成都	0
7.0	小李	29.0	男	江南	0
Time taken: 0.296 seconds, Fetched: 14 row(s)
hive> 

数据也插入成功并赋予了默认值。

以上就是两种赋予字段默认值的方法。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/08/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 直接量
  • 内置函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档