Hive兼容数据类型及与其他数据类型的区别 您所在的位置:网站首页 minus函数hive Hive兼容数据类型及与其他数据类型的区别

Hive兼容数据类型及与其他数据类型的区别

2023-11-12 03:22| 来源: 网络整理| 查看: 265

Hive兼容数据类型版本是MaxCompute三种数据类型版本之一,该数据类型版本下仅支持Hive兼容数据类型。本文为您介绍Hive兼容数据类型版本的定义、支持的数据类型以及与其他数据类型版本的差异。

定义项目空间选择数据类型版本为Hive兼容数据类型版本时,项目空间的数据类型属性参数定义如下。 setproject odps.sql.type.system.odps2=true; --打开MaxCompute 2.0数据类型。 setproject odps.sql.decimal.odps2=true; --打开Decimal 2.0数据类型。 setproject odps.sql.hive.compatible=true; --打开Hive兼容模式。适用场景

适用于从Hadoop迁移的MaxCompute项目,且该项目依赖的产品组件支持2.0数据类型版本。

基础数据类型Hive兼容数据类型版本支持的基础数据类型与2.0数据类型定义基本一致,只有DECIMAL数据类型在两个版本下有些差异。 类型常量示例描述TINYINT1Y、-127Y8位有符号整型。

取值范围:-128~127。

SMALLINT32767S、-100S16位有符号整型。

取值范围:-32768~32767。

INT1000、-1564578732位有符号整型。

取值范围:-2 31~2 31-1。

BIGINT100000000000L、-1L64位有符号整型。

取值范围:-2 63+1~2 63 -1。

BINARYunhex('FA34E10293CB42848573A4E39937F479')二进制数据类型,目前长度限制为8MB。FLOATcast(3.14159261E+7 as float)32位二进制浮点型。DOUBLE3.14159261E+764位二进制浮点型。DECIMAL(precision,scale)3.5BD、 99999999999.9999999BD10进制精确数字类型。 precision:表示最多可以表示多少位的数字。取值范围:1 DOUBLE、DECIMAL->BIGINT有精度损失或者报错的风险。禁用类型可以通过CAST函数强制进行数据类型转换。VARCHAR类型常量可以通过隐式转换为STRING常量。表、函数以及UDF 参数涉及2.0数据类型的内置函数,可以正常使用。UDF包含的数据类型都会按照Hive兼容数据类型进行解析重载。分区列支持STRING、VARCHAR、CHAR、TINYINT、SMALLINT、INT、BIGINT数据类型。Hive模式下,部分函数不支持分区裁剪,详情请参见与Hive、MySQL、Oracle内建函数对照表。STRING常量支持连接。例如,abc和xyz会解析为abcxyz。给DECIMAL字段插入常量时,常量的写法需要与常量定义中的格式保持一致。例如下面示例代码中的3.5BD。 insert into test_tb(a) values (3.5BD)DATETIME查询显示的时间值不包含毫秒。Tunnel命令通过-dfp来指定时间格式,可以指定到毫秒显示,例如tunnel upload -dfp 'yyyy-MM-dd HH:mm:ss.SSS'。关于Tunnel命令的更多信息,请参见Tunnel命令。复杂数据类型类型定义方法构造方法ARRAYarrayarrayarray(1, 2, 3)array(array(1, 2), array(3, 4))MAPmapmapmap(“k1”, “v1”, “k2”, “v2”)map(1S, array(‘a’, ‘b’), 2S, array(‘x’, ‘y’))STRUCTstructstructnamed_struct(‘x’, 1, ‘y’, 2)named_struct(‘field1’, 100L, ‘field2’, array(1, 2), ‘field3’, map(1, 100, 2, 200))说明 MaxCompute的复杂数据类型可以被嵌套使用,相关的内建函数说明请参见ARRAY、MAP或STRUCT。与其他数据类型版本的差异INSERT语句转换规则不同。 Hive兼容数据类型:源数据类型如果可以显式转换为表中的数据类型,系统会自动插入转换函数并允许运行。1.0和2.0数据类型版本:源数据类型需要隐式转换为表中的数据类型,否则报错。 --在Hive模式下成功,在其他模式下报错。 create table t (a bigint); insert into table select 1.5; 函数行为差异 +、 -、*、/、POW函数 Hive兼容数据类型版本:在数据溢出时绕回(即数据超出范围后返回初始值)。1.0和2.0数据类型版本:在数据溢出时报告异常,其它模式下返回NULL。>、>=、= 、


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有