蘇先生之大資料面試經驗總結(二)

2021-09-01 20:10:15 字數 716 閱讀 6984

1、flume與kafka的區別

flume適合做日誌採集,可以定製多種資料來源,減少開發量;而kafka是分布式訊息處理的中介軟體,自帶儲存功能,適合做日誌快取;flume主要用於將資料往hdfs、hbase傳送;如果涉及多個系統的使用,可以選擇用kafka

2、kafka如何保證資料不丟失、不重複消費

(1)在同步模式下,將acks設為-1,也就是將訊息寫入leader和所有的副本

(2)在非同步模式下,如果訊息傳送出去了還沒有收到確認的時候,緩衝池滿了,在配置檔案中設定成不限時阻塞超時的時間,也就是說讓生產一直阻塞下去,這樣資料也不會丟

(3)將訊息的offset儲存起來(如儲存到hbase),每次訊息處理時判斷是否處理過

3、如何搭建乙個高併發高可用的平台

(1)空間換時間

多級快取:使用者頁面快取、反向**快取、cache機制等

索引:雜湊(適用於資料的快速訪問)、b+樹(適用於查詢,避免多次io)、倒排(適用於搜尋領域)

(2)並行與分布式計算

切分任務、分而治之(基於資料的分解)

多程序、多執行緒並行執行(基於問題的分解)

(3)多維度的可用

負載均衡、容錯、備份

讀寫分離

依賴關係(能非同步處理則非同步)

監控模組的執行

(4)伸縮

拆分(業務邏輯的分段、對資料的分表分庫)

(5)優化資源利用

資源的釋放

大資料分析經驗總結

大資料分析到底需要多少種機器學習的方法呢?圍繞著這個問題,機器學習領域多年得出的一些經驗規律。1.大資料分析效能的好壞,也就是說機器學習 的準確率,與使用的學習演算法 問題的性質 資料集的特性包括資料規模 資料特徵等都有關係。2.一般地,ensemble方法包括random forest和adabo...

大資料應用測試經驗總結

大資料應用測試過程與傳統的web系統有較大的不同,大資料應用測試通常會分為web側和etl側測試,web側基本就是功能測試,而etl extracting transfroming loading 測試主要指從任何外部系統提取 轉換 載入資料到目標地。從底層資料採集 資料處理 到上層應用展現。一 從...

星環大資料使用經驗總結

因為hive主要語法是按照mysql習慣,本人用oracle比較多,所以對一些執行過的操作進行記錄總結,以防日後忘記。use dsdsj create table resourcedb dm smbs yztj smbs yztj dm string not null comment 驗證途徑 sm...