千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

當前位置:首頁  >  IT問答庫  >  大數(shù)據基礎知識

大數(shù)據之Spark框架中RDD和DataFrame的區(qū)別

發(fā)布:大數(shù)據 2022-02-24 17:50

大數(shù)據之Spark框架中RDD和DataFrame的區(qū)別

推薦答案

  大數(shù)據覆蓋的技術點有很多,其中spark框架就是其中一種,本期小編為大家介紹的大數(shù)據培訓教程就是關于Spark框架中RDD和DataFrame的區(qū)別是什么?RDD(提供了一種高度受限的共享內存模型;DataFrame是一種分布式的數(shù)據集,并且以列的方式組合的。在spark中RDD、DataFrame是最常用的數(shù)據類型,在使用的過程中你知道兩者的區(qū)別和各自的優(yōu)勢嗎?關于如何具體的應用今天就好好的分析一下。

  大數(shù)據之Spark框架中RDD和DataFrame的區(qū)別:

  一、RDD、DataFrame分別是什么?

  1、什么是RDD?

  RDD(Resilient Distributed Datasets)提供了一種高度受限的共享內存模型。即RDD是只讀的記錄分區(qū)的集合,只能通過在其他RDD執(zhí)行確定的轉換操作(如map、join和group by)而創(chuàng)建,然而這些限制使得實現(xiàn)容錯的開銷很低。RDD仍然足以表示很多類型的計算,包括MapReduce和專用的迭代編程模型(如Pregel)等。

  2、什么是DataFrame?

  DataFrame是一種分布式的數(shù)據集,并且以列的方式組合的。類似于關系型數(shù)據庫中的表。可以說是一個具有良好優(yōu)化技術的關系表。DataFrame背后的思想是允許處理大量結構化數(shù)據。提供了一些抽象的操作,如select、filter、aggregation、plot。DataFrame包含帶schema的行。schema是數(shù)據結構的說明。相當于具有schema的RDD。

  二、RDD、DataFrame有什么特性?

  在Apache Spark 里面DF 優(yōu)于RDD,但也包含了RDD的特性。RDD和DataFrame的共同特征是不可性、內存運行、彈性、分布式計算能力。

  它允許用戶將結構強加到分布式數(shù)據集合上。因此提供了更高層次的抽象。我們可以從不同的數(shù)據源構建DataFrame。例如結構化數(shù)據文件、Hive中的表、外部數(shù)據庫或現(xiàn)有的RDDs。DataFrame的應用程序編程接口(api)可以在各種語言中使用,包括Python、Scala、Java和R。

  1、RDD五大特性:

  1.(必須的)可分區(qū)的: 每一個分區(qū)對應就是一個Task線程。

  2.(必須的)計算函數(shù)(對每個分區(qū)進行計算操作)。

  3.(必須的)存在依賴關系。

  4.(可選的)對于key-value數(shù)據存在分區(qū)計算函數(shù)。

  5.(可選的)移動數(shù)據不如移動計算(將計算程序運行在離數(shù)據越近越好)。

  2、DataFrame特性:

  1.支持從KB到PB級的數(shù)據量

  2.支持多種數(shù)據格式和多種存儲系統(tǒng)

  3.通過Catalyst優(yōu)化器進行先進的優(yōu)化生成代碼

  4.通過Spark無縫集成主流大數(shù)據工具與基礎設施

  5.API支持Python、Java、Scala和R語言

  三、RDD與DataFrame的區(qū)別

  RDD是彈性分布式數(shù)據集,數(shù)據集的概念比較強一點。容器可以裝任意類型的可序列化元素(支持泛型)RDD的缺點是無從知道每個元素的【內部字段】信息。意思是下圖不知道Person對象的姓名、年齡等。

1

  DataFrame也是彈性分布式數(shù)據集,但是本質上是一個分布式數(shù)據表,因此稱為分布式表更準確。DataFrame每個元素不是泛型對象,而是Row對象。

  DataFrame的缺點是Spark SQL DataFrame API 不支持編譯時類型安全,因此,如果結構未知,則不能操作數(shù)據;同時,一旦將域對象轉換為Data frame ,則域對象不能重構。

  DataFrame=RDD-【泛型】+schema+方便的SQL操作+【catalyst】優(yōu)化

  DataFrame本質上是一個【分布式數(shù)據表】

2

  DataFrame優(yōu)于RDD,因為它提供了內存管理和優(yōu)化的執(zhí)行計劃。總結為以下兩點:

  a.自定義內存管理:當數(shù)據以二進制格式存儲在堆外內存時,會節(jié)省大量內存。除此之外,沒有垃圾回收(GC)開銷。還避免了昂貴的Java序列化。因為數(shù)據是以二進制格式存儲的,并且內存的schema是已知的。

  b.優(yōu)化執(zhí)行計劃:這也稱為查詢優(yōu)化器。可以為查詢的執(zhí)行創(chuàng)建一個優(yōu)化的執(zhí)行計劃。優(yōu)化執(zhí)行計劃完成后最終將在RDD上運行執(zhí)行。

  如果您想了解更多關于千鋒教育或者大數(shù)據培訓教程,可以咨詢我們的客服小姐姐,他們會為您做詳細的解答。

最新問答資訊

01 unity用什么編程語言?unity學習難度大嗎

學習 unity 語言
6020 人關注

02 python容易學嗎?學好python有什么好處?

學習 python 工作 培訓
5389 人關注

03 html是什么語言?html學習難嗎?

學習 html 語言 可以
5062 人關注

04 c語言難學嗎?c語言學好要多久?

語言 技術 學習
4733 人關注

06 學好平面設計要多久?報速成班靠譜嗎?

平面 設計 學習 時間
4238 人關注

相關問題

學大數(shù)據需要具備什么基礎和知識點?

大數(shù)據時代,不僅帶來了先進的技術,也帶來了很多求職機會,很多...

大數(shù)據培訓之數(shù)據分析思維

想要學會數(shù)據分析,那么就還要學會數(shù)據分析思維,數(shù)據思維具有框...

大數(shù)據都在哪些應用領域比較常見?

快速發(fā)展的時代,大數(shù)據圍繞我們的日常生活方方面面,單單在疫情...

大數(shù)據培訓分享:大數(shù)據分析的數(shù)據類型都有哪些

互聯(lián)網時代,數(shù)據共享成了非常普遍的,各大企業(yè)對于同行業(yè)的數(shù)據...

大數(shù)據之Spark框架中RDD和DataFrame的區(qū)別

大數(shù)據覆蓋的技術點有很多,其中spark框架就是其中一種,本期小...

大數(shù)據開發(fā)工程師是做什么的?

隨著大數(shù)據在生活中應用變得廣泛,大數(shù)據開發(fā)工程師也逐漸的出現(xiàn)...

測一測
你知道多少IT梗

主站蜘蛛池模板: 亚洲av无码一区二区三区网站| 日韩一区二区久久久久久| 精品一区二区三区在线播放| 暖暖免费高清日本一区二区三区| 国产伦精品一区二区三区无广告| 国模精品一区二区三区| 国产成人无码一区二区在线播放| 人妻视频一区二区三区免费| 亚洲乱码国产一区网址| 人妻少妇精品视频三区二区一区| 一本岛一区在线观看不卡| 亚洲熟妇av一区二区三区下载| 区三区激情福利综合中文字幕在线一区| 国产乱码精品一区二区三区中文 | 精品日韩一区二区| 性色A码一区二区三区天美传媒 | 中文字幕一区二区视频| 成人精品一区二区不卡视频| 无码一区二区三区| 免费视频一区二区| 日本亚洲成高清一区二区三区| 国产精品一区二区三区久久| 天堂va视频一区二区| 亚洲熟女综合一区二区三区| 一区二区三区高清| 国产在线精品一区在线观看| 成人区人妻精品一区二区三区 | 日本在线视频一区| 久夜色精品国产一区二区三区| 久久久人妻精品无码一区| 狠狠做深爱婷婷综合一区| 亚洲av午夜福利精品一区人妖| 国产一区二区福利| 国产成人欧美一区二区三区| 国产精品视频无圣光一区| 国产免费一区二区三区免费视频| 久久久久久免费一区二区三区 | 成人毛片一区二区| 国产免费一区二区视频| 精品国产一区二区三区| 国产精品毛片一区二区|