hive数据类型和文件格式
2017-12-14 20:12
453 查看
数据类型问题:
基本数据类型
tinyint :1bit有符号整数
smallint :2bit有符号整数
int :4bit有符号整数
bigint :8bit有符号整数
boolean :布尔类型true或者false
float :单精度浮点数
double :双精度浮点数
string :字符序列。可以指定字符集。可以使用单引号或者双引号
timestamp :可以是整数小数字符串;代表unix新纪元时间1970年一月一日
binary
集合数据类型
struct
map
array
例子:
CREATE TABLE employees
(
name STRING COMMENT '张三',
salary FLOAT COMENT '10000.00',
subordinates ARRAY<STRING> COMMENT '李四 王五',
deductions MAP<STRING,FLOAT> COMMENT '税,1000.00,养老金,100.00',
address STRUCT<street:STRING,city:STRING,state:STRING,zip:INT> COMMENT 'srteet:中华,city:北京,state:朝阳,zip:12'
);
分割符问题:
逗号分隔符:csv文件
制表符分隔符:tsv文件
\n 换行符
^A 用于分割字段(列),可以用\001表示
^B 用于分割ARRAY或者STRUCT中元素,或者MAP键值对之间分割,可以用\002
^C 用于分割MAP键值对之间分割,可用\003表示
例子:
CREATE TABLE employees
(
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING,FLOAT>,
address STRUCT<sheet:STRING,id:INT>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTIONS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
ROW FORMAT DELIMITED必须写在前面,列分割符是\001 集合分隔符是\002 map分割符是\003 行分隔符是换行符(只能是它)使用textfile文件格式
读时模式问题:
传统数据库在用户写入数据时会对模式进行检查,是写时模式
hive在查询时进行检查,是写时模式。
当发现文件内容与模式不匹配时:
比如字段个数少于模式定义的个数,则会返回很多null值
某一字段时数值型的,但是返回时发现不是数值型,返回mull
其他情况下,hive会尽力将各种错误恢复过来。
基本数据类型
tinyint :1bit有符号整数
smallint :2bit有符号整数
int :4bit有符号整数
bigint :8bit有符号整数
boolean :布尔类型true或者false
float :单精度浮点数
double :双精度浮点数
string :字符序列。可以指定字符集。可以使用单引号或者双引号
timestamp :可以是整数小数字符串;代表unix新纪元时间1970年一月一日
binary
集合数据类型
struct
map
array
例子:
CREATE TABLE employees
(
name STRING COMMENT '张三',
salary FLOAT COMENT '10000.00',
subordinates ARRAY<STRING> COMMENT '李四 王五',
deductions MAP<STRING,FLOAT> COMMENT '税,1000.00,养老金,100.00',
address STRUCT<street:STRING,city:STRING,state:STRING,zip:INT> COMMENT 'srteet:中华,city:北京,state:朝阳,zip:12'
);
分割符问题:
逗号分隔符:csv文件
制表符分隔符:tsv文件
\n 换行符
^A 用于分割字段(列),可以用\001表示
^B 用于分割ARRAY或者STRUCT中元素,或者MAP键值对之间分割,可以用\002
^C 用于分割MAP键值对之间分割,可用\003表示
例子:
CREATE TABLE employees
(
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING,FLOAT>,
address STRUCT<sheet:STRING,id:INT>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTIONS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
ROW FORMAT DELIMITED必须写在前面,列分割符是\001 集合分隔符是\002 map分割符是\003 行分隔符是换行符(只能是它)使用textfile文件格式
读时模式问题:
传统数据库在用户写入数据时会对模式进行检查,是写时模式
hive在查询时进行检查,是写时模式。
当发现文件内容与模式不匹配时:
比如字段个数少于模式定义的个数,则会返回很多null值
某一字段时数值型的,但是返回时发现不是数值型,返回mull
其他情况下,hive会尽力将各种错误恢复过来。
相关文章推荐
- hive数据类型和文件格式
- Hive中的数据类型和文件格式
- Hive 数据类型 文件格式
- Hive(一)数据类型、文件格式和数据定义
- 01分布式数据仓库 HIVE -- 数据类型-文件格式
- hive[3] 数据类型和文件格式
- Hive数据类型与文件存储格式
- Hive数据类型与文件存储格式
- Hive数据类型、文件格式和数据定义
- Hive-数据类型和文件格式
- 【JAVA】apache poi excel 文件读取,各种数据类型,不规则excel格式都可以读取
- net控件中数据导到Excel的格式 首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式: 1) 文本
- 【JAVA】apache poi excel 文件读取,各种数据类型,不规则excel格式都可以读取
- Thrift 文件的格式及可用的数据类型
- 大数据:Hive - ORC 文件存储格式
- (6)hadoop学习——hive的文件存储和基本数据类型
- Hive 处理CSV格式文件数据
- Hive学习之路 (六)Hive SQL之数据类型和存储格式
- Programming Hive Chapter3 (数据类型和文件格式)
- Hive文件格式(表STORE AS 的四种类型)