spark hive區別


一:Hive本質是是什么

1:hive是分布式又是數據倉庫,同時又是查詢引擎,Spark SQL只是取代的HIVE的查詢引擎這一部分,企業一般使用Hive+spark SQL進行開發

2:hive的主要工作

      1>  把HQL翻譯長map-reduce的代碼,並且有可能產生很多mapreduce的job

      2> 把生產的Mapreduce代碼及相關資源打包成jar並發布到Hadoop的集群當中並進行運行

3:hive架構

                     

 

4:hive默認情況下用derby存儲元數據,所以在生產環境下一般會采用多用戶的數據庫進行元數據的存儲,並可以讀寫分離和備份,一般使用主節點寫,從節點讀,一般使用mysql

5:hive數據倉庫數據的具體存儲

二:SparkSQL  和DataFrame

1:處理一切存儲介質和各種格式的數據(可以擴展sparksql來讀取更多類型的數據)

2:Spark SQL把數據倉庫的計算速度推向了新的高度(Tungsten成熟之后會更厲害)

3:Spark SQL 推出的Dataframe可以讓數據倉庫直接使用機器學習,圖計算等復雜算法

4:HIVE+Spark SQL+DataFrame:

     i> Hive:負責廉價的數據倉庫存儲

     ii>Spark Sql:負責高速的計算

     iii> DataFrame:負責復雜的數據挖掘

三: DataFrame與RDD

1:DataFrame是一個分布式的table

2:RDD和DataFrame的根本差異

    1.RDD是以Record為單位的,

    2.DataFrame包含了每一個Record的Metadata信息,也就是說DataFrame的的優化是基於列的優化,RDD是基於行的優化

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM