一、Spark SQL與Dataframe
在潞城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,潞城網(wǎng)站建設(shè)費(fèi)用合理。Spark SQL之所以是除Spark core以外大和最受關(guān)注的組件的原因:
a) 能處理一切存儲(chǔ)介質(zhì)和各種格式的數(shù)據(jù)(你同時(shí)可以方便的擴(kuò)展Spark SQL的功能來(lái)支持更多的數(shù)據(jù)類型,例如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,形式如下:
Name | Age | Tel |
String | Int | Long |
String | Int | Long |
String | Int | Long |
String | Int | Long |
String | Int | Long |
String | Int | Long |
而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
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。