Hive 建表
CREATE EXTERNAL TABLE IF NOT EXISTS test_json (
`name` int comment '姓名',
`age` int comment '年龄',
`address` string comment '地址(包含多个)'
)
comment '测试 json 数据解析'
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES (
"ignore.malformed.json"="true"
)
STORED AS TEXTFILE
;
Hive 修改位置
alter table test_json set location 'hdfs://nameservice1/user/tsl/ttt';
添加分区
语法: COALESCE(T v1, T v2, …)
返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL
数据格式
ive文件存储格式包括以下几类:
1、TEXTFILE
2、SEQUENCEFILE
3、RCFILE
4、ORCFILE(0.11以后出现)
其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;
SEQUENCEFILE,RCFILE,ORCFILE格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入SequenceFile,RCFile,ORCFile表中。