活了二十多年,没能为祖国、为人民做点什么,每思及此,伤心欲绝 !

hive中orc格式表的数据导入

大数据 keguang 119℃ 0评论

hive创建orc格式表不能像textfile格式一样直接load数据到表中,需要创建临时textfile表,然后通过insert into 或者insert overwrite到orc存储格式表中。
如果你直接load数据到orc格式表中,这个步骤可以成功,但是会发现'select * from table limit 1;'这个语句都会报错,也就是说直接load数据是不可行的。
对于hive中orc格式表可以参见:大数据:Hive - ORC 文件存储格式

1)、创建表

临时表

create table if not exists db.tmp
(
name string,
age int
)
partitioned by (dt string, hour string, msgtype string, action string)
row format delimited fields terminated by '\t';

数据表

create external table if not exists db.people
(
name string,
age int
)
partitioned by (dt string, hour string, msgtype string, action string)
row format delimited fields terminated by '\t'
stored as orc;

2)、 导入数据

(1) 导入数据到textfile

load data inpath 'hdfs://path' into table db.tmp partition(dt="2018-06-22",hour="00",msgtype="web", action="click");

(2)查询数据插入orc格式表

insert into db.people partition(dt="2018-06-22",hour="00",msgtype="web", action="click")
select name,age
from db.tmp where dt = "2018-06-22" and hour = "00" 
and msgtype = "web" and action = "click";

转载请注明:柯广的博客 » hive中orc格式表的数据导入

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址