1 背景:RDBMS中insert使用(insert+values)
在MySQL這樣的RDBMS中,通常是insert+values的方式來(lái)向表插入數(shù)據(jù),并且速度很快。這也是RDBMS中插入數(shù)據(jù)的核心方式。
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
假如說(shuō)對(duì)Hive的定位不清,把Hive當(dāng)成RDBMS來(lái)使用,也使用insert+values的方式插入數(shù)據(jù),會(huì)如何呢?
--hive中insert+values
create table t_test_insert(id int,name string,age int);
insert into table t_test_insert values(1,"allen",18);
你會(huì)發(fā)現(xiàn)執(zhí)行過(guò)程非常非常慢,底層是使用MapReduce把數(shù)據(jù)寫(xiě)入HDFS的。
?
試想一下,如何在Hive中這樣玩,對(duì)于大數(shù)據(jù)分析,海量數(shù)據(jù)一條條插入是不是非常刺激。因此在Hive中我們通過(guò)將數(shù)據(jù)清洗成為結(jié)構(gòu)化文件,再Load加載到表中。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-548530.html
但是并不意味著insert語(yǔ)法在Hive中沒(méi)有使用地位了,通常在Hive中我們使用insert+select語(yǔ)句。即插入表的數(shù)據(jù)來(lái)自于后續(xù)select查詢語(yǔ)句返回的結(jié)果。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-548530.html
到了這里,關(guān)于Hive(19):DML之Insert插入數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!