hive 建立多分割符表

hive 建多分隔符表

hive 版本1.2.1以上,jdk 1.8

一、测试外表:

create EXTERNAL  -- 外表标识
  table  tmp.deli_tmp_0117
(
z1 string,
z2 string
) partitioned by (pt string comment 'YYYYMM')
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' -- 设置多分隔符条件
WITH SERDEPROPERTIES ("field.delim"="ALGO") -- 设置分隔符
LOCATION 'hdfs:///user/data/aaa' --指定外表文件目录 (注:这是个文件夹)
在hdfs:///user/data/aaa 下有bbbb目录 bbbb下存放要读取的文件test

文件内容

你ALGO他

第二步:
  • 添加分区:
alter table tmp.deli_tmp_0117 add partition (pt='bbbb') location '/user/data/aaa/bbbb'
~~~sql
-- 测试查询
select * FROM tmp.deli_tmp_0117 where pt='bbbb'
二、内表:
--建表
create  table  tmp.deli_tmp_0117_mer
(
z1 string,
z2 string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' -- 设置多分隔符条件
WITH SERDEPROPERTIES ("field.delim"="ALGO")
  • 导数据
load data inpath '/user/data/aaa/test' into table tmp.deli_tmp_0117_mer 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。