Hive 建表

  1. CREATE EXTERNAL TABLE IF NOT EXISTS test_json (
  2. `name` int comment '姓名',
  3. `age` int comment '年龄',
  4. `address` string comment '地址(包含多个)'
  5. )
  6. comment '测试 json 数据解析'
  7. ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
  8. WITH SERDEPROPERTIES (
  9. "ignore.malformed.json"="true"
  10. )
  11. STORED AS TEXTFILE
  12. ;

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表中。