Kylin 實時OLAP如何做CheckPoint

2021-09-28 20:53:43 字數 1234 閱讀 3244

一、新建cube第一次消費的情況:

此種情況根據kylin.stream.consume.offsets.latest配置,true表示從最新的資料開始消費,false表示從最早的資料開始消費,預設為true.

二、disable cube再enable的情況

1、清空zk節點上此cube的資料

(/kylin/kylin:kylin_metadata/stream/cubes/cubename);

2、刪除此cube在 hdfs上的資料(/user/kylin/kylin_prod-kylin_metadata/stream/cubename);

3、刪除所有receiver節點上此cube的資料(通過http呼叫receiver的admincontroller.unassign停止消費此cube資料、刪除節點上此cube數==/home/hadoop/data/kylin_prod/inner/cubename==)

1、在zk上建立此cube的節點

(/kylin/kylin:kylin_metadata/stream/cubes/cubename);

2、計算此cube的assignment(分配到那幾個replicatset等);

3、呼叫分配給此cube的所有receiver進行資料消費

(通過http呼叫receiver.admincontroller.assign方法):

3.1、確定kafka消費起始點:獲取本地checkpoint(由於本地資料之前disable的時候已經被刪除,所以為空),獲取remote的checkpoint(最後乙個ready 的segment的checkpoint),具體**參見(kafkasource.setupconnectorfromcheckpoint方法);

3.2、確定會處理的最小時間minaccepteventtime,latestremotesegment.gettsrange().end.v有值則此值作為最小時間,否則根據配置的cube.getdescriptor().getpartitiondatestart()為最小時間,否則為0,參見**streamserver.createnewconsumer方法;

3.3、啟動kafkaconsumer開始消費,參見streamingconsumerchannel.start()方法:kafkaconnector.open方法設定消費起始點,繫結topic和要消費的此topic的partition、streamingconsumerchannel.run()開始真正拉取資料並消費並儲存checkpoint到本地。

如何做研究

來自 在研究生期間,一開始大家都很迷惑,都不知道自己要幹什麼 該幹什麼?即便知道自己要幹什麼,也不知道從哪幹起?上次兩位老師跟我們交流了一下,下面是他們的心得 給乙個專案 解決方案 問題分塊 任務明細 一開始並不是所有的問題都會想到,但是起碼要有乙個大體的框架在心中,然後細化模組,對每乙個功能進行細...

如何做專案

1,以業務規則為綱,而不是業務實體 2,在思考和設計業務規則的時候,以業務核心為綱,什麼是業務核心,定義為,當前你最關注的,當前最不確定的那一部分。所以我現在不喜歡領域驅動,我喜歡業務驅動 其實可能二者是一碼事 那麼我這裡所說的業務驅動要怎麼驅動法呢?就先以上面兩條為起頭,然後再來說,業務規則,以找...

C 是如何做爬蟲的

建立url,並建立請求 攜帶cookie request.cookiecontainer cookiecontainer 傳送請求,並獲取html 讀取流 streamreader streamreader new streamreader stream,encoding.getencoding g...