hdfs orc格式_hive中orc格式表的数据导入
Hive系列文章
hive創(chuàng)建orc格式表不能像textfile格式一樣直接load數(shù)據(jù)到表中,需要?jiǎng)?chuàng)建臨時(shí)textfile表,然后通過(guò)insert into 或者insert overwrite到orc存儲(chǔ)格式表中。
如果你直接load數(shù)據(jù)到orc格式表中,這個(gè)步驟可以成功,但是會(huì)發(fā)現(xiàn)select * from table limit 1;這個(gè)語(yǔ)句都會(huì)報(bào)錯(cuò),也就是說(shuō)直接load數(shù)據(jù)是不可行的。對(duì)于hive中orc格式表可以參見(jiàn):大數(shù)據(jù):Hive - ORC 文件存儲(chǔ)格式
1)、創(chuàng)建表
需要?jiǎng)?chuàng)建臨時(shí)表和數(shù)據(jù)表。
臨時(shí)表
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';
數(shù)據(jù)表
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)、 導(dǎo)入數(shù)據(jù)
需要先用load命令將數(shù)據(jù)導(dǎo)入textfile格式表,然后再通過(guò)insert into插入orc格式表。
(1) 導(dǎo)入數(shù)據(jù)到textfile
load data inpath 'hdfs://path' into table db.tmp partition(dt="2018-06-22",hour="00",msgtype="web", action="click");
(2)查詢(xún)數(shù)據(jù)插入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";
關(guān)注公眾號(hào):Java大數(shù)據(jù)與數(shù)據(jù)倉(cāng)庫(kù),學(xué)習(xí)大數(shù)據(jù)技術(shù)。
喜歡 (0)or分享 (0)
總結(jié)
以上是生活随笔為你收集整理的hdfs orc格式_hive中orc格式表的数据导入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【计算机毕业设计】医院预约挂号系统
- 下一篇: ssm项目会议管理系统