猛操女人-猛操网-咪咪爱毛片-米奇久久-91破处视频-91视频综合网

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁(yè)  >  IT問(wèn)答庫(kù)  >  大數(shù)據(jù)基礎(chǔ)知識(shí)

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

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

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

推薦答案

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

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

  一、RDD、DataFrame分別是什么?

  1、什么是RDD?

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

  2、什么是DataFrame?

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

  二、RDD、DataFrame有什么特性?

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

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

  1、RDD五大特性:

  1.(必須的)可分區(qū)的: 每一個(gè)分區(qū)對(duì)應(yīng)就是一個(gè)Task線程。

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

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

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

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

  2、DataFrame特性:

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

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

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

  4.通過(guò)Spark無(wú)縫集成主流大數(shù)據(jù)工具與基礎(chǔ)設(shè)施

  5.API支持Python、Java、Scala和R語(yǔ)言

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

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

1

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

  DataFrame的缺點(diǎn)是Spark SQL DataFrame API 不支持編譯時(shí)類(lèi)型安全,因此,如果結(jié)構(gòu)未知,則不能操作數(shù)據(jù);同時(shí),一旦將域?qū)ο筠D(zhuǎn)換為Data frame ,則域?qū)ο蟛荒苤貥?gòu)。

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

  DataFrame本質(zhì)上是一個(gè)【分布式數(shù)據(jù)表】

2

  DataFrame優(yōu)于RDD,因?yàn)樗峁┝藘?nèi)存管理和優(yōu)化的執(zhí)行計(jì)劃。總結(jié)為以下兩點(diǎn):

  a.自定義內(nèi)存管理:當(dāng)數(shù)據(jù)以二進(jìn)制格式存儲(chǔ)在堆外內(nèi)存時(shí),會(huì)節(jié)省大量?jī)?nèi)存。除此之外,沒(méi)有垃圾回收(GC)開(kāi)銷(xiāo)。還避免了昂貴的Java序列化。因?yàn)閿?shù)據(jù)是以二進(jìn)制格式存儲(chǔ)的,并且內(nèi)存的schema是已知的。

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

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

最新問(wèn)答資訊

01 unity用什么編程語(yǔ)言?unity學(xué)習(xí)難度大嗎

學(xué)習(xí) unity 語(yǔ)言
6020 人關(guān)注

02 python容易學(xué)嗎?學(xué)好python有什么好處?

學(xué)習(xí) python 工作 培訓(xùn)
5389 人關(guān)注

03 html是什么語(yǔ)言?html學(xué)習(xí)難嗎?

學(xué)習(xí) html 語(yǔ)言 可以
5062 人關(guān)注

04 c語(yǔ)言難學(xué)嗎?c語(yǔ)言學(xué)好要多久?

語(yǔ)言 技術(shù) 學(xué)習(xí)
4733 人關(guān)注

06 學(xué)好平面設(shè)計(jì)要多久?報(bào)速成班靠譜嗎?

平面 設(shè)計(jì) 學(xué)習(xí) 時(shí)間
4238 人關(guān)注

相關(guān)問(wèn)題

學(xué)大數(shù)據(jù)需要具備什么基礎(chǔ)和知識(shí)點(diǎn)?

大數(shù)據(jù)時(shí)代,不僅帶來(lái)了先進(jìn)的技術(shù),也帶來(lái)了很多求職機(jī)會(huì),很多...

大數(shù)據(jù)培訓(xùn)之?dāng)?shù)據(jù)分析思維

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

大數(shù)據(jù)都在哪些應(yīng)用領(lǐng)域比較常見(jiàn)?

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

大數(shù)據(jù)培訓(xùn)分享:大數(shù)據(jù)分析的數(shù)據(jù)類(lèi)型都有哪些

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

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

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

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

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

測(cè)一測(cè)
你知道多少I(mǎi)T梗

主站蜘蛛池模板: 2020最新国产精品视频 | 男女视频免费在线观看 | 欧美香蕉 | 久久精品国产精品青草不卡 | 日本黄色一级片视频 | 天天弄天天操 | 九九免费精品视频在这里 | 日韩三级在线免费观看 | 免费羞羞网站 | 欧洲美女a视频一级毛片 | 国产亚洲欧洲日韩综合v | 欧美在线看视频 | 91在线精品你懂的免费 | 成人午夜免费福利视频 | 九九精品视频一区二区三区 | 91欧美| 妞干网在线视频 | 777奇米影视一区二区三区 | 日批视频在线播放 | 欧美日韩亚洲第一页 | 波多野结衣免费免费视频一区 | 成人国产网站v片免费观看 成人国产一区二区三区 | 青青青草国产 | 国产视频一区二区在线观看 | 精品国产一区二区三区19 | 我把寡妇日出水好爽视频 | 一级黄色片免费看 | 亚洲欧美在线播放 | 成人羞羞视频在线观看 | 日韩欧美亚洲精品 | 国产农村三片免费网站 | 狠狠色狠狠色很很综合很久久 | 99视频在线精品免费 | 99精品视频免费 | 日韩成人精品 | 99ri在线精品视频在线播放 | 1314亚洲人成网站在线观看 | 日本三级特黄 | 国产日韩欧美亚洲综合在线 | 亚洲天堂视频在线播放 | 伊人网综合在线观看 |