django使用原生sql方法 hive和sparksql的區(qū)別?
hive和sparksql的區(qū)別?過(guò)去,hive是用來(lái)建立數(shù)據(jù)倉(cāng)庫(kù)的,因此對(duì)hive管理的數(shù)據(jù)查詢有很大的需求。Hive、shark和sparlsql可以查詢Hive數(shù)據(jù)。Shark使用hive的SQ
hive和sparksql的區(qū)別?
過(guò)去,hive是用來(lái)建立數(shù)據(jù)倉(cāng)庫(kù)的,因此對(duì)hive管理的數(shù)據(jù)查詢有很大的需求。Hive、shark和sparlsql可以查詢Hive數(shù)據(jù)。Shark使用hive的SQL語(yǔ)法解析器和優(yōu)化器,修改executor,使其物理執(zhí)行過(guò)程在spark上運(yùn)行;spark-SQL使用自己的語(yǔ)法解析器、優(yōu)化器和executor,spark-SQL還擴(kuò)展了接口,不僅支持hive數(shù)據(jù)查詢,還支持多數(shù)據(jù)源的數(shù)據(jù)查詢。
hive sql與sql區(qū)別?
主要區(qū)別如下:
1。配置單元不支持等效聯(lián)接
·對(duì)于SQL中的兩個(gè)內(nèi)聯(lián)表,它可以寫成:
·select*from dual a,dual b where a.key=b.key
;在配置單元中,它應(yīng)該是
·select*from dual a join dual b on a.key=b.key
而不是傳統(tǒng)格式:
select t1.a1 as C1,t2.b1 as c2 from t1,t2
其中t1.a2=T2。B2
2,分號(hào)字符
·分號(hào)是SQL語(yǔ)句的結(jié)束標(biāo)記,在hiveql中也有使用,但是在hiveql中,分號(hào)的識(shí)別不是很聰明,例如:
·從dual中選擇concat(key,concat(”,key))?!さ钱?dāng)hiveql解析語(yǔ)句時(shí),它提示:
失?。航馕鲥e(cuò)誤:第0行:-1函數(shù)規(guī)范中輸入不匹配“<eof>”。·解決方法是使用分號(hào)八進(jìn)制ASCII碼進(jìn)行轉(zhuǎn)義,因此上面的語(yǔ)句應(yīng)該寫成:
·select concat(key,concat(“073”,key))from dual
3,is[not]null
·null表示SQL中的空值。值得注意的是,在hiveql中,如果string type字段為空字符串,即長(zhǎng)度為0,則應(yīng)計(jì)算null的判斷結(jié)果為false。
4。Hive不支持將數(shù)據(jù)插入到現(xiàn)有的表或分區(qū)中,
只支持覆蓋和重寫整個(gè)表
Hive是基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)設(shè)施。它提供了一系列可用于數(shù)據(jù)提取、轉(zhuǎn)換和加載(ETL)的工具,ETL是一種能夠存儲(chǔ)、查詢和分析Hadoop中存儲(chǔ)的大規(guī)模數(shù)據(jù)的機(jī)制。Hive定義了一種簡(jiǎn)單的類似SQL的查詢語(yǔ)言HQL,它允許熟悉SQL的用戶查詢數(shù)據(jù)。同時(shí),這種語(yǔ)言還允許熟悉MapReduce的開(kāi)發(fā)人員開(kāi)發(fā)定制的mapper和reducer,以處理內(nèi)置mapper和reducer無(wú)法完成的復(fù)雜分析工作。Hive采用類SQL查詢模式,將SQL查詢轉(zhuǎn)換成MapReduce作業(yè),在Hadoop集群上執(zhí)行
功能點(diǎn):Hive:1,數(shù)據(jù)存儲(chǔ)
2,數(shù)據(jù)清理spark:1,數(shù)據(jù)清理2,流計(jì)算Hive可以通過(guò)HQL模式讀取Hive數(shù)據(jù)進(jìn)行數(shù)據(jù)清理spark可以通過(guò)spark SQL或spark core清理數(shù)據(jù),并且可以讀取數(shù)據(jù)源包,如JDBC、hive、elasticsearch、文件等,因此spark可以替代hive的數(shù)據(jù)清洗功能,hive也可以作為數(shù)據(jù)源。蜂巢的優(yōu)點(diǎn)在于1。大數(shù)據(jù)存儲(chǔ),2。MapReduce操作通過(guò)SQL降低大數(shù)據(jù)的使用門檻spark的優(yōu)點(diǎn)有:1。基于內(nèi)存的MapReduce運(yùn)算速度快。流計(jì)算(基準(zhǔn)產(chǎn)品:Flink,暴風(fēng)雨)~www.crazyant.net
testHivePara]$配置單元-f學(xué)生.sql配置單元?dú)v史文件=/tmp/crazyant.net/hive作業(yè)日志cztu201309131515u1720869864.txtok占用時(shí)間:2.131秒占用時(shí)間:0.878秒從文件復(fù)制數(shù)據(jù):/home/users/czt/testdatauudentcopying文件:文件:/home/users/czt/testdatauudentloading數(shù)據(jù)到表測(cè)試.studentOK