程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> spark hive區別,sparkhive區別

spark hive區別,sparkhive區別

編輯:JAVA綜合教程

spark hive區別,sparkhive區別


一: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是基於行的優化

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved