全部产品
云市场

Data Lake Analytics数据类型

更新时间:2019-03-05 03:56:31

建表语法

Data Lake Analytics兼容Hive的数据类型 以及 CREATE EXTERNAL TABLE语法:

  1. CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name
  2. [(col_name data_type [COMMENT col_comment], ... [constraint_specification])]
  3. [COMMENT table_comment]
  4. [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
  5. [ROW FORMAT row_format]
  6. [STORE AS file_format]
  7. | STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]
  8. LOCATION oss_path

详细的建表说明见用户指南部分

数据类型

1. 数值类型

  • TINYINT , 1 byte 有符号整数, -128 至 127
  • SMALLINT, 2 byte 有符号整数, -32,768 至 32,767
  • INT/INTEGER, 4 byte 有符号整数, -2,147,483,648 至 2,147,483,647
  • BIGINT, 8 byte 有符号整数, -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
  • FLOAT, 4 byte 单精度浮点数
  • DOUBLE, 8 byte 双精度浮点数
  • DECIMAL(p, s) ,固定精度和范围的数值类型

2. 字符类型

  • STRING , 存储变长的超大文本字符,可以使用单引号或者双引号
  • VARCHAR, 存储变长文本,但是长度上只允许在1-65355之间
  • CHAR, 用来存储定长的字符

3. 时间日期类

  • TIMESTAMP , 支持纳秒级别的UNIX时间戳
  • DATE, 用来存储日期数据:年月日,YYYY-MM-DD

4. 布尔类型

  • BOOLEAN , 布尔类型,true 或 false

5. 集合数据类型

  • ARRAY , 格式为ARRAY,元素访问通过0下标开始
  • MAP , 是一组key-value元组集合,key只能是基本类型,值可以是任意类型。map的元素访问则使用[],例如map[‘key1’]
  • STRUCT , 类似对象,如果数据类型定义为colum1 STRUCT{var1 STRING,var2 int},使用colum1.var2 来访问

建表示例

1.创建不带分区的表

  1. CREATE EXTERNAL TABLE nation_text_string (
  2. N_NATIONKEY INT COMMENT 'column N_NATIONKEY',
  3. N_NAME STRING,
  4. N_REGIONKEY INT,
  5. N_COMMENT STRING
  6. )
  7. ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
  8. STORED AS TEXTFILE LOCATION 'oss://your-bucket/path/to/nation_text';

2.创建分区表

  1. CREATE EXTERNAL TABLE primitives_text_p (
  2. id INT COMMENT 'default',
  3. bool_col BOOLEAN COMMENT 'default',
  4. tinyint_col TINYINT COMMENT 'default',
  5. date_string_col STRING COMMENT 'default',
  6. string_col STRING COMMENT 'default',
  7. timestamp_col TIMESTAMP COMMENT 'default'
  8. )
  9. PARTITIONED BY (year INT COMMENT 'default', month INT COMMENT 'default')
  10. ROW FORMAT DELIMITED
  11. FIELDS TERMINATED BY ','
  12. ESCAPED BY '\\'
  13. STORED AS TEXTFILE
  14. LOCATION 'oss://your-bucket/path/to/primitives_text_p';