• <nav id="dstbx"></nav>

    <nav id="dstbx"></nav>
    1. <form id="dstbx"></form>
    2. <small id="dstbx"></small>

      教育行業A股IPO第一股(股票代碼 003032)

      全國咨詢/投訴熱線:400-618-4000

      DataFrame是什么意思?與RDD相比有哪些優點?

      更新時間:2021年03月23日11時56分 來源:傳智教育 瀏覽次數:


      DataFrame被稱為SchemaRDD。DataFrame使Spark具備了處理大規模結構化數據的能力。在Spark中,DataFrame是一種以RDD為基礎的分布式數據集,因此DataFrame可以完成RDD的絕大多數功能,在開發使用時,也可以調用方法將RDD和DataFrame進行相互轉換。DataFrame的結構類似于傳統數據庫的二維表格,并且可以從很多數據源中創建,例如結構化文件、外部數據庫、Hive表等數據源。下面,通過圖1來了解DataFrame與RDD在結構上的區別。

      1616470817236_DataFrame與RDD區別.jpg

      DataFrame與RDD區別

      在圖1中,左側為RDD[Person]數據集,右側是DataFrame數據集。DataFrame可以看作是分布式的Row對象的集合,在二維表數據集的每一列都帶有名稱和類型,這就是Schema元信息,這使得Spark框架可以獲取更多的數據結構信息,從而對在DataFrame背后的數據源以及作用于DataFrame之上數據變換進行了針對性的優化,最終達到大幅提升計算效率;同時,DataFrame與Hive類似,支持嵌套數據類型(例如Struct、Array、Map)。

      RDD是分布式的Java對象的集合,例如圖4-3中的RDD[Person]數據集,雖然它以Person為類型參數,但是對象內部之間的結構相對于Spark框架本身是無法得知的,這樣在轉換數據形式時效率相對較低。

      總的來說,DataFrame除了提供比RDD更豐富的算子以外,更重要的特點是提升Spark框架執行效率、減少數據讀取時間以及優化執行計劃。有了DataFrame這個更高層次的抽象后,處理數據就更加簡單了,甚至可以直接用SQL來處理數據,這對于開發者來說,易用性有了很大的提升。不僅如此,通過DataFrame API或SQL處理數據,Spark 優化器(Catalyst)會自動優化,即使我們寫的程序或SQL不高效,程序也可以高效的執行。



      猜你喜歡:

      spark筆記之RDD容錯機制之checkpoint

      Scala的方法和函數介紹【大數據文章】

      ReduceTask的工作機制【傳智大數據文章】

      RDD為什么要進行數據持久化?持久化詳細操作步驟示例

      傳智教育大數據項目開發培訓

      神马影院我不卡,农村丰满肥熟老妇女,午夜电影网,2018日日摸夜夜添夜夜添 网站地图 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>