odps是有点像hive,底层应该也是一个顺序文件,这样的话一列应该可以放下很长的数据,那么在odps里面一列能装的最大数据长度是多少啊?我建倒排表的时候会不会因为键值太长把它撑爆?
你好,根据您字段类型不同而不同,以下参考:
类型 是否新类型 常量定义 描述
TINYINT 是 1Y,-127Y 8 位有符号整形,范围 -128 到 127
SMALLINT 是 32767S, -100S 16 位有符号整形, 范围 -32768 到 32767
INT 是 1000,-15645787(注释1) 32位有符号整形,范围-231到231 -1
BIGINT 否 100000000000L, -1L 64位有符号整形, 范围-263 + 1到263 - 1
FLOAT 是 无 32位二进制浮点型
DOUBLE 否 3.1415926 1E+7 8字节双精度浮点数,64位二进制浮点型
DECIMAL 否 3.5BD, 99999999999.9999999BD(注释4) 10 进制精确数字类型,整形部分范围-1036+1到1036-1, 小数部分精确到 10-18 。
VARCHAR(n) 是 无 ( 注释2 ) 变长字符类型,n为长度,取值范围 1 到 65535
STRING 否 “abc”,’bcd’,”alibaba” ‘inc’ ( 注释3 ) 字符串类型,目前长度限制为 8M
BINARY 是 无 二进制数据类型,目前长度限制为 8M
DATETIME 否 DATETIME ‘2017-11-11 00:00:00’ 日期时间类型,使用东八区时间作为系统标准时间。范围从0000年1月1日到9999年12月31日,精确到毫秒 。(注释5)
TIMESTAMP 是 TIMESTAMP ‘2017-11-11 00:00:00.123456789’ 范围从0000年1月1日到9999年12月31日 23.59:59.999999999, 精确到纳秒。注意:timestamp类型本身与时区无关,在任何时区,timestamp类型存储的都是从epoch(UTC 1970-01-01 00:00:00)开始的一个偏移量。您可以通过一些内置函数对timestamp类型数据进行与时区相关的计算,如cast(< a timestamp > as string)将timestamp类型数据按照当前时区值转换成string类型。
BOOLEAN 否 TRUE,FALSE boolean 类型, 取值 TRUE 或 FALSE
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。