HIVE-数据类型

一、数据类型

数据类型分为简单数据类型和复杂数据类型。

1、简单数据类型

在这里插入图片描述

2、复杂数据类型

复杂数据类型有array、map、struct三类。
在这里插入图片描述复杂数据类型案例:

{
    "name": "dasongsong",
    "friends": [
        "bingbing",
        "lili"
    ],
    "students": {
        "xiaohaihai": 18,
        "xiaoyangyang": 16
    },
    "address": {
        "street": "hui long guan",
        "city": "beijing",
        "postal_code": 10010
    }
}

通过上述JOSN字符串定义每个字段的数据类型:
name:为字符串,具体定义为string
friend:为列表,具体定义为:array<string>
student:为键值对格式,因此是map类型,具体定义为:map<string,int>
address:为键值对格式,但是有多个属性组成,且属性之间的类型不一致,因此是struct类型,具体定义为:struct<city:string,street:string,postal_code:int>

二、数据类型转换

不同的数据类型之间存在相互转化,其中包括隐式转换和显示转换。

1、隐式转换

任何整数类型都可以隐式转换成范围更广的类型,如:tinyint可以转换成int,int可以转换成bigint;
tinyint、smallint、int都可以转换为float。
注意:所有整数类型、float和string类型都可以隐式地转换成double。 布尔类型不可以转换成任何其他类型。

2、显示转换

显示类型相当于强制类型转换,隐式转换是变量自动发生的转换。
语法:

cast(expr as <type>) 

案例:

cast('1' as int)

备注:上述笔记为自己学习过程中记录的笔记。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值