91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

第56課:Spark SQL和DataFrame的本質

發布時間:2020-07-21 06:22:29 來源:網絡 閱讀:870 作者:lqding1980 欄目:大數據

一、Spark SQL與Dataframe

Spark SQL之所以是除Spark core以外最大和最受關注的組件的原因:

a) 能處理一切存儲介質和各種格式的數據(你同時可以方便的擴展Spark SQL的功能來支持更多的數據類型,例如KUDO)

b)Spark SQL 把數據倉庫的計算能力推向了一個新的高度。不僅是無敵的計算速度(Spark SQL比Shark快了一個數量級,Shark比Hive快了一個數量級),尤其是在tungsten成熟以后會更加無可匹敵。更為重要的是把數據倉庫的計算復雜度推向了歷史新高度(Spark后續推出的Dataframe可以讓數據倉庫直接使用機器學習、圖計算等算法庫來對數據倉庫進行深度數據價值的挖掘)。

c)Spark SQL(Dataframe,DataSet)不僅是數據倉庫的引擎,同時也是數據挖掘的引擎,更為重要的是Spark SQL是科學計算和分析的引擎。

d)后來的DataFrame讓Spark SQL一舉成為大數據計算引擎的技術上的霸主(尤其是在鎢絲計劃的強力支持下)。

e) Hive+Spark SQL+DataFrame

 1) Hive負責廉價的數據存儲

 2) Spark SQL 負責高速的計算

 3)DataFrame 負責復雜的數據挖掘


二、DataFrame與RDD

a)R和Python中都有DataFrame,Spark中的DataFrame從形式上看,最大的不同點就是其天生是分布式的;你可以簡單的認為DataFrame是一個分布式的Table,形式如下:

NameAgeTel
StringIntLong
StringIntLong
StringIntLong
StringIntLong
StringIntLong
StringIntLong

而RDD的形式如下:

Person
Person
Person
Person
Person
Person

RDD不知道數據行的屬性,而DataFrame知道數據的列信息

b)RDD和DataFrame的根本差異

  RDD以record為基本單位,Spark在處理RDD時無法優化RDD的內部細節,所以也就無法進行更深入的優化,這極大的限制了Spark SQL的性能。

 DataFrame中包含了每個record的metadata信息,也就是說DataFrame優化時基于列內部優化,而不像RDD基于行進行優化。


三、Spark企業級最佳實踐

階段1 文件系統+C語言處理

階段2 JavaEE + 傳統數據庫(擴展性太差,不支持分布式。即便有部分數據庫支持分布式,但是因為事務一致性的關系,速度非常慢)

階段3 Hive hive的計算能力有限,速度非常慢。

階段4 Hive轉向Hive+Spark SQL 

階段5 Hive+Spark SQL+DataFrame

階段6 Hive+Spark SQL+DataFrame+DataSet 



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东光县| 隆安县| 历史| 巩义市| 巧家县| 遂宁市| 蒲江县| 綦江县| 江油市| 迁西县| 洛南县| 来安县| 新民市| 五华县| 西乌珠穆沁旗| 万山特区| 武平县| 孟州市| 峨眉山市| 昭平县| 辽宁省| 唐河县| 鹤山市| 当雄县| 白河县| 隆林| 葵青区| 北京市| 横山县| 加查县| 博白县| 祁阳县| 天长市| 河北区| 马山县| 阿城市| 嘉黎县| 盘山县| 禄丰县| 塘沽区| 无棣县|