您当前的位置: 首页 >  hive

梁云亮

暂无认证

  • 3浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Hive数据类型

梁云亮 发布时间:2020-02-18 12:21:03 ,浏览量:3

基本数据类型

在这里插入图片描述

集合数据类型

在这里插入图片描述

数据类型转换 隐式类型转换规则如下
  • 自动向上转型:任何整数类型都可以隐式地转换为一个范围更广的类型,如TINYINT可以转换成INT,INT可以转换成BIGINT。
  • 所有整数类型、FLOAT和STRING类型都可以隐式地转换成DOUBLE。
  • TINYINT、SMALLINT、INT都可以转换为FLOAT。
  • BOOLEAN类型不可以转换为任何其它的类型。
可以使用CAST操作显示进行数据类型转换

CAST(‘1’ AS INT):将把字符串’1’ 转换成整数1;如果强制类型转换失败,如执行CAST(‘X’ AS INT),表达式返回空值 NULL。

示例: 待导入的数据

zhangsan,xiaoming_xiaohua,tom:18_jerry:19,da xing_beijing lisi,xiaowei_xiaojian,lily:18_marry:19,chang ping_beijing

分析数据格式

{
    "name": "zhangsan",
    "friends": ["lisi" , "wanger"] ,       //列表Array, 
    "children": {                      //键值Map,
        "tom": 18 ,
        "jerry": 19
    }
    "address": {                      //结构Struct,
        "street": "changping" ,
        "city": "beijing" 
    }
}
第一步:根据数据格式创建表

HQL语句:

create table tb_user(  --此处表名不能叫user,否则会报错
name string,
friends array,
children map,
address struct
)
row format delimited fields terminated by ','
collection items terminated by '_'
map keys terminated by ':'
lines terminated by '\n';

在这里插入图片描述

第二步:在linux的/home/hc目录下创建文件tbuser.txt,然后将待插入的数据拷贝到这个文件中

在这里插入图片描述

第三步:执行load命令,将Linux本地文件导入Hive中

在这里插入图片描述

查询数据
  • select * from tb_user 在这里插入图片描述
  • select friends[1] friend,children[‘tom’],address.street street from tb_user where name=‘zhangsan’; 在这里插入图片描述
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0424s