有spark為什么還要hive hive和sparksql的區(qū)別?
hive和sparksql的區(qū)別?過去,hive是用來建立數(shù)據(jù)倉庫的,因此對hive管理的數(shù)據(jù)查詢有很大的需求。Hive、shark和sparlsql可以查詢Hive數(shù)據(jù)。Shark使用hive的SQ
hive和sparksql的區(qū)別?
過去,hive是用來建立數(shù)據(jù)倉庫的,因此對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ù)存儲
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)勢在于1。大數(shù)據(jù)存儲。MapReduce操作通過SQL降低大數(shù)據(jù)使用門檻。Spark的優(yōu)勢在于1。基于內(nèi)存的MapReduce操作,速度快。流計(jì)算(基準(zhǔn)產(chǎn)品Flink,storm)
spark SQL和hive到底什么關(guān)系?
Hive是一種基于HDFS的數(shù)據(jù)倉庫,它提供了一個基于SQL模型的查詢引擎,用于存儲大數(shù)據(jù)的數(shù)據(jù)倉庫的分布式交互查詢。Spark SQL不能完全取代hive。它取代了hive的查詢引擎。因?yàn)樗牡讓踊赟park自身基于內(nèi)存的特性,Spark SQL的速度比hive的查詢引擎快幾倍。Spark本身不提供存儲,因此它不能取代hive作為數(shù)據(jù)倉庫的功能。sparksql相對于hive的另一個優(yōu)勢是它支持大量不同的數(shù)據(jù)源,包括hive、JSON、parquet、JDBC等等。由于sparksql是spark技術(shù)的核心,基于RDD,可以與spark的其他組件無縫集成,實(shí)現(xiàn)許多復(fù)雜的功能。例如,sparksql支持可以直接為HDFS文件執(zhí)行SQL語句。
spark sql構(gòu)建特征?
1. 易于集成
SQL查詢和Spark程序的無縫混合
不同語言的代碼開發(fā)
2。統(tǒng)一數(shù)據(jù)源訪問
以相同的方式連接到任何數(shù)據(jù)源。以后,sparksql可以使用統(tǒng)一的方式連接到任何外部數(shù)據(jù)源,而無需使用不同的api
3。兼容hive
sparksql可以支持hivesql語法sparksql兼容hivesql
4。支持標(biāo)準(zhǔn)數(shù)據(jù)庫連接
sparksql支持標(biāo)準(zhǔn)數(shù)據(jù)庫連接JDBC或ODBC