真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

第56課:SparkSQL和DataFrame的本質(zhì)

一、Spark SQL與Dataframe

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比鳳翔網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式鳳翔網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鳳翔地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴(lài)。

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

a) 能處理一切存儲(chǔ)介質(zhì)和各種格式的數(shù)據(jù)(你同時(shí)可以方便的擴(kuò)展Spark SQL的功能來(lái)支持更多的數(shù)據(jù)類(lèi)型,例如KUDO)

b)Spark SQL 把數(shù)據(jù)倉(cāng)庫(kù)的計(jì)算能力推向了一個(gè)新的高度。不僅是無(wú)敵的計(jì)算速度(Spark SQL比Shark快了一個(gè)數(shù)量級(jí),Shark比Hive快了一個(gè)數(shù)量級(jí)),尤其是在tungsten成熟以后會(huì)更加無(wú)可匹敵。更為重要的是把數(shù)據(jù)倉(cāng)庫(kù)的計(jì)算復(fù)雜度推向了歷史新高度(Spark后續(xù)推出的Dataframe可以讓數(shù)據(jù)倉(cāng)庫(kù)直接使用機(jī)器學(xué)習(xí)、圖計(jì)算等算法庫(kù)來(lái)對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行深度數(shù)據(jù)價(jià)值的挖掘)。

c)Spark SQL(Dataframe,DataSet)不僅是數(shù)據(jù)倉(cāng)庫(kù)的引擎,同時(shí)也是數(shù)據(jù)挖掘的引擎,更為重要的是Spark SQL是科學(xué)計(jì)算和分析的引擎。

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

e) Hive+Spark SQL+DataFrame

 1) Hive負(fù)責(zé)廉價(jià)的數(shù)據(jù)存儲(chǔ)

 2) Spark SQL 負(fù)責(zé)高速的計(jì)算

 3)DataFrame 負(fù)責(zé)復(fù)雜的數(shù)據(jù)挖掘

二、DataFrame與RDD

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

NameAgeTel
StringIntLong
StringIntLong
StringIntLong
StringIntLong
StringIntLong
StringIntLong

而RDD的形式如下:

Person
Person
Person
Person
Person
Person

RDD不知道數(shù)據(jù)行的屬性,而DataFrame知道數(shù)據(jù)的列信息

b)RDD和DataFrame的根本差異

  RDD以record為基本單位,Spark在處理RDD時(shí)無(wú)法優(yōu)化RDD的內(nèi)部細(xì)節(jié),所以也就無(wú)法進(jìn)行更深入的優(yōu)化,這極大的限制了Spark SQL的性能。

 DataFrame中包含了每個(gè)record的metadata信息,也就是說(shuō)DataFrame優(yōu)化時(shí)基于列內(nèi)部?jī)?yōu)化,而不像RDD基于行進(jìn)行優(yōu)化。

三、Spark企業(yè)級(jí)最佳實(shí)踐

階段1 文件系統(tǒng)+C語(yǔ)言處理

階段2 JavaEE + 傳統(tǒng)數(shù)據(jù)庫(kù)(擴(kuò)展性太差,不支持分布式。即便有部分?jǐn)?shù)據(jù)庫(kù)支持分布式,但是因?yàn)槭聞?wù)一致性的關(guān)系,速度非常慢)

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

階段4 Hive轉(zhuǎn)向Hive+Spark SQL 

階段5 Hive+Spark SQL+DataFrame

階段6 Hive+Spark SQL+DataFrame+DataSet 


當(dāng)前標(biāo)題:第56課:SparkSQL和DataFrame的本質(zhì)
新聞來(lái)源:http://weahome.cn/article/jjhgjd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部