有spark為什么還要hive 求問怎么設(shè)置sparksql讀取hive的數(shù)據(jù)庫?
求問怎么設(shè)置sparksql讀取hive的數(shù)據(jù)庫?過去,hive是用來建立數(shù)據(jù)倉庫的,因此對(duì)hive管理的數(shù)據(jù)查詢有很大的需求。Hive、shark和sparlsql可以查詢Hive數(shù)據(jù)。Shark使
求問怎么設(shè)置sparksql讀取hive的數(shù)據(jù)庫?
過去,hive是用來建立數(shù)據(jù)倉庫的,因此對(duì)hive管理的數(shù)據(jù)查詢有很大的需求。Hive、shark和sparlsql可以查詢Hive數(shù)據(jù)。Shark使用hive的SQL語法解析器和優(yōu)化器,修改executor,使其物理執(zhí)行過程在spark上運(yùn)行;spark-SQL使用自己的語法解析器、優(yōu)化器和executor,spark-SQL還擴(kuò)展了接口,不僅支持hive數(shù)據(jù)查詢,還支持多數(shù)據(jù)源的數(shù)據(jù)查詢。
hive和sparksql的區(qū)別?
功能點(diǎn):hive:[1,數(shù)據(jù)存儲(chǔ)
2,數(shù)據(jù)清理spark:1,數(shù)據(jù)清理2,流計(jì)算hive可以通過HQL模式讀取hive數(shù)據(jù)進(jìn)行數(shù)據(jù)清理spark可以通過spark SQL或spark core模式清理數(shù)據(jù),可以讀取數(shù)據(jù)源包live JDBC、hive、elasticsearch、file等,因此spark可以替換數(shù)據(jù)蜂巢的清洗功能,也可以使用蜂巢作為數(shù)據(jù)源。蜂巢的優(yōu)勢(shì)在于1。大數(shù)據(jù)存儲(chǔ)。MapReduce操作通過SQL降低大數(shù)據(jù)使用門檻。Spark的優(yōu)勢(shì)在于1。基于內(nèi)存的MapReduce操作,速度快。流計(jì)算(基準(zhǔn)產(chǎn)品Flink,storm)
如何使用scala開發(fā)spark作業(yè),并訪問hive?
1。為了讓spark連接到hive的原始數(shù)據(jù)倉庫,我們需要在hive中連接hive-網(wǎng)站.xml將該文件復(fù)制到spark的conf目錄,這樣您就可以通過這個(gè)配置文件找到hive的元數(shù)據(jù)和數(shù)據(jù)存儲(chǔ)。
在這里,因?yàn)槲业膕park是自動(dòng)安裝和部署的,所以我需要知道CDH將配置-網(wǎng)站.xml它在哪里?摸索之后。此文件的默認(rèn)路徑在/etc/hive/conf下
對(duì)于spark/etc/conf也是如此
此時(shí),如上所述,相應(yīng)的配置單元發(fā)生了更改-網(wǎng)站.xml復(fù)制到spark/conf目錄
如果hive的元數(shù)據(jù)存儲(chǔ)在mysql中,我們需要準(zhǔn)備mysql相關(guān)的驅(qū)動(dòng)程序,例如mysql-connector-java-5.1.22-bin.jar文件.