1.spark執行原理
啟動乙個driver程序 ,用於控制整個流程
當任務提交,首先會去向資源管理器–yarn,申請executor資源,
根據sparkcontext獲取執行環境,然後driver會從程式倒著構建成dag圖,在將按照寬窄依賴減dag圖分解成stage,然後將taskset傳送給task scheduler 會將task 分給每乙個stage ,最後將task傳送給executor執行,執行之後在釋放資源
2.mapreduce的shuffle原理:
最開始的split切片進入map階段,資料最先進入環形記憶體緩衝區(80%為閾值),然後會根據reduce個數分割槽,然後對每個分割槽的資料對key排序,然後會進行乙個合併,合併就是為了減少網路i/o,使資料儘量減少網路傳輸的資料量,期間會經過多次的排序和合併,最後傳送給reduce階段。reduce會接受各個map傳過來的資料,再次進行合併和排序,最後當達到記憶體70%時,就會寫入磁碟
3.kafka怎麼保證資料不丟失 (ack機制)
kafka 中有多個broker 每個broker包含多個topic 每個topic 中有多個partition(訊息佇列) 每個partition中有多個replication備份 類似與hdfs中的備份機制
producer 端保證資料不丟失:ack機制 三種狀態(0 1 -1)
0:不管接受沒有接受資料,都傳送下一條資料
1:只要leader確認接收到訊息,才傳送下一條資料
-1:只要follwe
大資料面試題總結
1.關於zookeeper zookeeper 是乙個用來進行分布式協調的服務,這些服務包括配置服務,維護元資訊和命名空間服務。zookeeper是如何選取主leader的?當leader崩潰或者leader失去大多數的follower,這時候zk進入恢復模式,恢復模式需要重新選舉出乙個新的lead...
大資料面試題 (五)Spark 相關面試題總結
答 rdd resilient distributed dataset 叫做分布式資料集,是spark中最基本的資料抽象,它代表乙個不可變,可分割槽,裡面的元素可以平行計算的集合 dataset 就是乙個集合,用於存放資料的 destributed 分布式,可以並行在集群計算 resilient 表...
大資料面試題
海量資料面試題整理 1.給定a b兩個檔案,各存放50億個url,每個url各佔64位元組,記憶體限制是4g,讓你找出a b檔案共同的url?方案1 可以估計每個檔案安的大小為50g 64 320g,遠遠大於記憶體限制的4g。所以不可能將其完全載入到記憶體中處理。考慮採取分而治之的方法。s 求每對小...