Hadoop/Spark大數(shù)據(jù)面試總結(jié)

1. 簡答說一下hadoop的map-reduce編程模型

首先map task會從本地文件系統(tǒng)讀取數(shù)據(jù)媒峡,轉(zhuǎn)換成key-value形式的鍵值對集合

使用的是hadoop內(nèi)置的數(shù)據(jù)類型,比如longwritable、text等

將鍵值對集合輸入mapper進行業(yè)務(wù)處理過程,將其轉(zhuǎn)換成需要的key-value在輸出

之后會進行一個partition分區(qū)操作,默認(rèn)使用的是hashpartitioner,可以通過重寫hashpartitioner的getpartition方法來自定義分區(qū)規(guī)則

之后會對key進行進行sort排序,grouping分組操作將相同key的value合并分組輸出惰瓜,在這里可以使用自定義的數(shù)據(jù)類型副编,重寫WritableComparator的Comparator方法來自定義排序規(guī)則呻待,重寫RawComparator的compara方法來自定義分組規(guī)則

之后進行一個combiner歸約操作奏篙,其實就是一個本地段的reduce預(yù)處理敛熬,以減小后面shufle和reducer的工作量

reduce task會通過網(wǎng)絡(luò)將各個數(shù)據(jù)收集進行reduce處理诲锹,最后將數(shù)據(jù)保存或者顯示,結(jié)束整個job

2. hadoop的TextInputFormat作用是什么归园,如何自定義實現(xiàn)

InputFormat會在map操作之前對數(shù)據(jù)進行兩方面的預(yù)處理
1是getSplits黄虱,返回的是InputSplit數(shù)組,對數(shù)據(jù)進行split分片庸诱,每片交給map操作一次
2是getRecordReader悬钳,返回的是RecordReader對象,對每個split分片進行轉(zhuǎn)換為key-value鍵值對格式傳遞給map

常用的InputFormat是TextInputFormat偶翅,使用的是LineRecordReader對每個分片進行鍵值對的轉(zhuǎn)換默勾,以行偏移量作為鍵,行內(nèi)容作為值

自定義類繼承InputFormat接口聚谁,重寫createRecordReader和isSplitable方法
在createRecordReader中可以自定義分隔符

3. hadoop和spark的都是并行計算母剥,那么他們有什么相同和區(qū)別

兩者都是用mr模型來進行并行計算,hadoop的一個作業(yè)稱為job,job里面分為map task和reduce task环疼,每個task都是在自己的進程中運行的习霹,當(dāng)task結(jié)束時,進程也會結(jié)束

spark用戶提交的任務(wù)成為application炫隶,一個application對應(yīng)一個sparkcontext淋叶,app中存在多個job,每觸發(fā)一次action操作就會產(chǎn)生一個job

這些job可以并行或串行執(zhí)行伪阶,每個job中有多個stage煞檩,stage是shuffle過程中DAGSchaduler通過RDD之間的依賴關(guān)系劃分job而來的,每個stage里面有多個task栅贴,組成taskset有TaskSchaduler分發(fā)到各個executor中執(zhí)行斟湃,executor的生命周期是和app一樣的,即使沒有job運行也是存在的檐薯,所以task可以快速啟動讀取內(nèi)存進行計算

hadoop的job只有map和reduce操作凝赛,表達能力比較欠缺而且在mr過程中會重復(fù)的讀寫hdfs,造成大量的io操作坛缕,多個job需要自己管理關(guān)系

spark的迭代計算都是在內(nèi)存中進行的墓猎,API中提供了大量的RDD操作如join,groupby等赚楚,而且通過DAG圖可以實現(xiàn)良好的容錯

4. 為什么要用flume導(dǎo)入hdfs毙沾,hdfs的構(gòu)架是怎樣的

flume可以實時的導(dǎo)入數(shù)據(jù)到hdfs中,當(dāng)hdfs上的文件達到一個指定大小的時候會形成一個文件直晨,或者超過指定時間的話也形成一個文件

文件都是存儲在datanode上面的搀军,namenode記錄著datanode的元數(shù)據(jù)信息,而namenode的元數(shù)據(jù)信息是存在內(nèi)存中的勇皇,所以當(dāng)文件切片很小或者很多的時候會卡死

5. map-reduce程序運行的時候會有什么比較常見的問題

比如說作業(yè)中大部分都完成了罩句,但是總有幾個reduce一直在運行

這是因為這幾個reduce中的處理的數(shù)據(jù)要遠遠大于其他的reduce,可能是因為對鍵值對任務(wù)劃分的不均勻造成的數(shù)據(jù)傾斜

解決的方法可以在分區(qū)的時候重新定義分區(qū)規(guī)則對于value數(shù)據(jù)很多的key可以進行拆分敛摘、均勻打散等處理门烂,或者是在map端的combiner中進行數(shù)據(jù)預(yù)處理的操作

6. 簡單說一下hadoop和spark的shuffle過程

hadoop:map端保存分片數(shù)據(jù),通過網(wǎng)絡(luò)收集到reduce端
spark:spark的shuffle是在DAGSchedular劃分Stage的時候產(chǎn)生的兄淫,TaskSchedule要分發(fā)Stage到各個worker的executor

減少shuffle可以提高性能

7. Hive中存放是什么屯远?

表。
存的是和hdfs的映射關(guān)系捕虽,hive是邏輯上的數(shù)據(jù)倉庫慨丐,實際操作的都是hdfs上的文件,HQL就是用sql語法來寫的mr程序泄私。

8. Hive與關(guān)系型數(shù)據(jù)庫的關(guān)系房揭?

沒有關(guān)系备闲,hive是數(shù)據(jù)倉庫,不能和數(shù)據(jù)庫一樣進行實時的CURD操作捅暴。
是一次寫入多次讀取的操作恬砂,可以看成是ETL工具。

9. Flume工作機制是什么蓬痒?

核心概念是agent泻骤,里面包括source、chanel和sink三個組件梧奢。
source運行在日志收集節(jié)點進行日志采集狱掂,之后臨時存儲在chanel中,sink負(fù)責(zé)將chanel中的數(shù)據(jù)發(fā)送到目的地粹断。
只有成功發(fā)送之后chanel中的數(shù)據(jù)才會被刪除符欠。
首先書寫flume配置文件嫡霞,定義agent瓶埋、source、chanel和sink然后將其組裝诊沪,執(zhí)行flume-ng命令。

10. Sqoop工作原理是什么?

hadoop生態(tài)圈上的數(shù)據(jù)傳輸工具棠枉。
可以將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入非結(jié)構(gòu)化的hdfs讹俊、hive或者bbase中,也可以將hdfs中的數(shù)據(jù)導(dǎo)出到關(guān)系型數(shù)據(jù)庫或者文本文件中渐裸。
使用的是mr程序來執(zhí)行任務(wù)巫湘,使用jdbc和關(guān)系型數(shù)據(jù)庫進行交互。
import原理:通過指定的分隔符進行數(shù)據(jù)切分昏鹃,將分片傳入各個map中尚氛,在map任務(wù)中在每行數(shù)據(jù)進行寫入處理沒有reduce。
export原理:根據(jù)要操作的表名生成一個java類洞渤,并讀取其元數(shù)據(jù)信息和分隔符對非結(jié)構(gòu)化的數(shù)據(jù)進行匹配阅嘶,多個map作業(yè)同時執(zhí)行寫入關(guān)系型數(shù)據(jù)庫

11. Hbase行健列族的概念,物理模型载迄,表的設(shè)計原則讯柔?

行健:是hbase表自帶的护昧,每個行健對應(yīng)一條數(shù)據(jù)魂迄。
列族:是創(chuàng)建表時指定的,為列的集合惋耙,每個列族作為一個文件單獨存儲捣炬,存儲的數(shù)據(jù)都是字節(jié)數(shù)組慈格,其中的數(shù)據(jù)可以有很多,通過時間戳來區(qū)分遥金。
物理模型:整個hbase表會拆分為多個region浴捆,每個region記錄著行健的起始點保存在不同的節(jié)點上,查詢時就是對各個節(jié)點的并行查詢稿械,當(dāng)region很大時使用.META表存儲各個region的起始點选泻,-ROOT又可以存儲.META的起始點。
rowkey的設(shè)計原則:各個列簇數(shù)據(jù)平衡美莫,長度原則页眯、相鄰原則,創(chuàng)建表的時候設(shè)置表放入regionserver緩存中厢呵,避免自動增長和時間窝撵,使用字節(jié)數(shù)組代替string,最大長度64kb襟铭,最好16字節(jié)以內(nèi)碌奉,按天分表,兩個字節(jié)散列寒砖,四個字節(jié)存儲時分毫秒赐劣。
列族的設(shè)計原則:盡可能少(按照列族進行存儲,按照region進行讀取哩都,不必要的io操作)魁兼,經(jīng)常和不經(jīng)常使用的兩類數(shù)據(jù)放入不同列族中,列族名字盡可能短漠嵌。

12. Spark Streaming和Storm有何區(qū)別咐汞?

一個實時毫秒一個準(zhǔn)實時亞秒,不過storm的吞吐率比較低儒鹿。

13. mllib支持的算法化撕?

大體分為四大類,分類挺身、聚類侯谁、回歸、協(xié)同過濾章钾。

15. Hadoop平臺集群配置墙贱、環(huán)境變量設(shè)置?

zookeeper:修改zoo.cfg文件贱傀,配置dataDir惨撇,和各個zk節(jié)點的server地址端口,tickTime心跳時間默認(rèn)是2000ms府寒,其他超時的時間都是以這個為基礎(chǔ)的整數(shù)倍魁衙,之后再dataDir對應(yīng)目錄下寫入myid文件和zoo.cfg中的server相對應(yīng)报腔。

hadoop:修改
hadoop-env.sh配置java環(huán)境變量
core-site.xml配置zk地址,臨時目錄等
hdfs-site.xml配置nn信息剖淀,rpc和http通信地址纯蛾,nn自動切換、zk連接超時時間等
yarn-site.xml配置resourcemanager地址
mapred-site.xml配置使用yarn
slaves配置節(jié)點信息
格式化nn和zk纵隔。

hbase:修改
hbase-env.sh配置java環(huán)境變量和是否使用自帶的zk
hbase-site.xml配置hdfs上數(shù)據(jù)存放路徑翻诉,zk地址和通訊超時時間、master節(jié)點
regionservers配置各個region節(jié)點
zoo.cfg拷貝到conf目錄下

spark:
安裝Scala
修改spark-env.sh配置環(huán)境變量和master和worker節(jié)點配置信息

環(huán)境變量的設(shè)置:直接在/etc/profile中配置安裝的路徑即可捌刮,或者在當(dāng)前用戶的宿主目錄下碰煌,配置在.bashrc文件中,該文件不用source重新打開shell窗口即可绅作,配置在.bash_profile的話只對當(dāng)前用戶有效芦圾。

16. Hadoop性能調(diào)優(yōu)?

調(diào)優(yōu)可以通過系統(tǒng)配置俄认、程序編寫和作業(yè)調(diào)度算法來進行个少。
hdfs的block.size可以調(diào)到128/256(網(wǎng)絡(luò)很好的情況下,默認(rèn)為64)
調(diào)優(yōu)的大頭:mapred.map.tasks梭依、mapred.reduce.tasks設(shè)置mr任務(wù)數(shù)(默認(rèn)都是1)
mapred.tasktracker.map.tasks.maximum每臺機器上的最大map任務(wù)數(shù)
mapred.tasktracker.reduce.tasks.maximum每臺機器上的最大reduce任務(wù)數(shù)
mapred.reduce.slowstart.completed.maps配置reduce任務(wù)在map任務(wù)完成到百分之幾的時候開始進入
這個幾個參數(shù)要看實際節(jié)點的情況進行配置稍算,reduce任務(wù)是在33%的時候完成copy典尾,要在這之前完成map任務(wù)役拴,(map可以提前完成)
mapred.compress.map.output,mapred.output.compress配置壓縮項,消耗cpu提升網(wǎng)絡(luò)和磁盤io
合理利用combiner
注意重用writable對象

17. Hadoop高并發(fā)钾埂?

首先肯定要保證集群的高可靠性河闰,在高并發(fā)的情況下不會掛掉,支撐不住可以通過橫向擴展褥紫。
datanode掛掉了使用hadoop腳本重新啟動姜性。

19. hadoop和spark的都是并行計算,那么他們有什么相同和區(qū)別髓考?

兩者都是用mr模型來進行并行計算部念,hadoop的一個作業(yè)稱為job,job里面分為map task和reduce task氨菇,每個task都是在自己的進程中運行的儡炼,當(dāng)task結(jié)束時,進程也會結(jié)束查蓉。
spark用戶提交的任務(wù)成為application乌询,一個application對應(yīng)一個sparkcontext,app中存在多個job豌研,每觸發(fā)一次action操作就會產(chǎn)生一個job妹田。
這些job可以并行或串行執(zhí)行唬党,每個job中有多個stage,stage是shuffle過程中DAGSchaduler通過RDD之間的依賴關(guān)系劃分job而來的鬼佣,每個stage里面有多個task驶拱,組成taskset有TaskSchaduler分發(fā)到各個executor中執(zhí)行,executor的生命周期是和app一樣的晶衷,即使沒有job運行也是存在的屯烦,所以task可以快速啟動讀取內(nèi)存進行計算。
hadoop的job只有map和reduce操作房铭,表達能力比較欠缺而且在mr過程中會重復(fù)的讀寫hdfs驻龟,造成大量的io操作,多個job需要自己管理關(guān)系缸匪。
spark的迭代計算都是在內(nèi)存中進行的翁狐,API中提供了大量的RDD操作如join,groupby等凌蔬,而且通過DAG圖可以實現(xiàn)良好的容錯露懒。

20. 為什么要用flume導(dǎo)入hdfs,hdfs的構(gòu)架是怎樣的砂心?

flume可以實時的導(dǎo)入數(shù)據(jù)到hdfs中懈词,當(dāng)hdfs上的文件達到一個指定大小的時候會形成一個文件,或者超過指定時間的話也形成一個文件辩诞。
文件都是存儲在datanode上面的坎弯,namenode記錄著datanode的元數(shù)據(jù)信息,而namenode的元數(shù)據(jù)信息是存在內(nèi)存中的译暂,所以當(dāng)文件切片很小或者很多的時候會卡死抠忘。

22. 簡單說一下hadoop和spark的shuffle過程?

hadoop:map端保存分片數(shù)據(jù)外永,通過網(wǎng)絡(luò)收集到reduce端崎脉。
spark:spark的shuffle是在DAGSchedular劃分Stage的時候產(chǎn)生的,TaskSchedule要分發(fā)Stage到各個worker的executor伯顶。
減少shuffle可以提高性能囚灼。

23. RDD機制?

rdd分布式彈性數(shù)據(jù)集祭衩,簡單的理解成一種數(shù)據(jù)結(jié)構(gòu)灶体,是spark框架上的通用貨幣。
所有算子都是基于rdd來執(zhí)行的汪厨,不同的場景會有不同的rdd實現(xiàn)類赃春,但是都可以進行互相轉(zhuǎn)換。
rdd執(zhí)行過程中會形成dag圖劫乱,然后形成lineage保證容錯性等织中。
從物理的角度來看rdd存儲的是block和node之間的映射锥涕。

24. spark有哪些組件?

(1)master:管理集群和節(jié)點狭吼,不參與計算层坠。
(2)worker:計算節(jié)點,進程本身不參與計算刁笙,和master匯報破花。
(3)Driver:運行程序的main方法,創(chuàng)建spark context對象疲吸。
(4)spark context:控制整個application的生命周期座每,包括dagsheduler和task scheduler等組件。
(5)client:用戶提交程序的入口摘悴。

25. spark工作機制峭梳?

用戶在client端提交作業(yè)后,會由Driver運行main方法并創(chuàng)建spark context上下文蹂喻。
執(zhí)行add算子葱椭,形成dag圖輸入dagscheduler,按照add之間的依賴關(guān)系劃分stage輸入task scheduler口四。
task scheduler會將stage劃分為task set分發(fā)到各個節(jié)點的executor中執(zhí)行孵运。

26. spark的優(yōu)化怎么做?

通過spark-env文件蔓彩、程序中sparkconf和set property設(shè)置治笨。
(1)計算量大,形成的lineage過大應(yīng)該給已經(jīng)緩存了的rdd添加checkpoint粪小,以減少容錯帶來的開銷大磺。
(2)小分區(qū)合并,過小的分區(qū)造成過多的切換任務(wù)開銷探膊,使用repartition。

27. kafka工作原理待榔?

producer向broker發(fā)送事件逞壁,consumer從broker消費事件。
事件由topic區(qū)分開锐锣,每個consumer都會屬于一個group腌闯。
相同group中的consumer不能重復(fù)消費事件,而同一事件將會發(fā)送給每個不同group的consumer雕憔。

28. ALS算法原理姿骏?

答:對于user-product-rating數(shù)據(jù),als會建立一個稀疏的評分矩陣斤彼,其目的就是通過一定的規(guī)則填滿這個稀疏矩陣分瘦。
als會對稀疏矩陣進行分解蘸泻,分為用戶-特征值,產(chǎn)品-特征值嘲玫,一個用戶對一個產(chǎn)品的評分可以由這兩個矩陣相乘得到悦施。
通過固定一個未知的特征值,計算另外一個特征值去团,然后交替反復(fù)進行最小二乘法抡诞,直至差平方和最小,即可得想要的矩陣土陪。

29. kmeans算法原理昼汗?

隨機初始化中心點范圍,計算各個類別的平均值得到新的中心點鬼雀。
重新計算各個點到中心值的距離劃分乔遮,再次計算平均值得到新的中心點,直至各個類別數(shù)據(jù)平均值無變化取刃。

30. canopy算法原理蹋肮?

根據(jù)兩個閾值來劃分?jǐn)?shù)據(jù),以隨機的一個數(shù)據(jù)點作為canopy中心璧疗。
計算其他數(shù)據(jù)點到其的距離坯辩,劃入t1、t2中崩侠,劃入t2的從數(shù)據(jù)集中刪除漆魔,劃入t1的其他數(shù)據(jù)點繼續(xù)計算,直至數(shù)據(jù)集中無數(shù)據(jù)却音。

31. 樸素貝葉斯分類算法原理改抡?

對于待分類的數(shù)據(jù)和分類項,根據(jù)待分類數(shù)據(jù)的各個特征屬性系瓢,出現(xiàn)在各個分類項中的概率判斷該數(shù)據(jù)是屬于哪個類別的阿纤。

32. 關(guān)聯(lián)規(guī)則挖掘算法apriori原理?

一個頻繁項集的子集也是頻繁項集夷陋,針對數(shù)據(jù)得出每個產(chǎn)品的支持?jǐn)?shù)列表欠拾,過濾支持?jǐn)?shù)小于預(yù)設(shè)值的項,對剩下的項進行全排列骗绕,重新計算支持?jǐn)?shù)藐窄,再次過濾,重復(fù)至全排列結(jié)束酬土,可得到頻繁項和對應(yīng)的支持?jǐn)?shù)荆忍。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子刹枉,更是在濱河造成了極大的恐慌叽唱,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘶卧,死亡現(xiàn)場離奇詭異尔觉,居然都是意外死亡,警方通過查閱死者的電腦和手機芥吟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門侦铜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钟鸵,你說我怎么就攤上這事钉稍。” “怎么了棺耍?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵贡未,是天一觀的道長。 經(jīng)常有香客問我蒙袍,道長俊卤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任害幅,我火速辦了婚禮消恍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘以现。我一直安慰自己狠怨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布邑遏。 她就那樣靜靜地躺著佣赖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪记盒。 梳的紋絲不亂的頭發(fā)上憎蛤,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音孽鸡,去河邊找鬼蹂午。 笑死,一個胖子當(dāng)著我的面吹牛彬碱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奥洼,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼巷疼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嚼沿,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤估盘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后骡尽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遣妥,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年攀细,在試婚紗的時候發(fā)現(xiàn)自己被綠了箫踩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡谭贪,死狀恐怖境钟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情俭识,我是刑警寧澤慨削,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站套媚,受9級特大地震影響缚态,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜堤瘤,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一玫芦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宙橱,春花似錦姨俩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宝冕,卻和暖如春张遭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背地梨。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工菊卷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宝剖。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓洁闰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親万细。 傳聞我的和親對象是個殘疾皇子扑眉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1.1、 分配更多資源 1.1.1、分配哪些資源腰素? Executor的數(shù)量 每個Executor所能分配的CPU數(shù)...
    miss幸運閱讀 3,176評論 3 15
  • 1聘裁、 性能調(diào)優(yōu) 1.1、 分配更多資源 1.1.1弓千、分配哪些資源衡便? Executor的數(shù)量 每個Executor所...
    Frank_8942閱讀 4,529評論 2 36
  • 面試回來之后把其中比較重要的問題記了下來寫了個總結(jié): (答案在后面) 1、簡答說一下hadoop的map-redu...
    Alukar閱讀 667評論 0 7
  • Apache Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎洋访。Spark是UC Berkeley AM...
    大佛愛讀書閱讀 2,818評論 0 20
  • Zookeeper用于集群主備切換镣陕。 YARN讓集群具備更好的擴展性。 Spark沒有存儲能力捌显。 Spark的Ma...
    Yobhel閱讀 7,255評論 0 34