原创 kafka兩階段提交、冪等以及flink結合

1 在checkpoint之間是一直pre_commit, 數據寫入kafka broker, 同時在transaction協調器以及 消費者處理器之間寫入本次事務的元信息;等到本次從source到sink之間的checkpoint全部完

原创 sparkstreamming flink區別聯繫

一 spark 1 rdd是通過裝飾者模式形成的一系列函數的依賴關係,可分區、並行;其實不是數據而是計算,只不過通常還是叫數據集。 2 窄依賴是指一個父rdd的partition做多被一個子rdd 的partition引用,獨生子女。 3

原创 flink--state狀態管理

前提: 1 flink state分爲三種,1)operator state是跟算子關聯的,粒度是task,即便相同的算子的其他並行的task也不能互相訪問各自的狀態。 2)keyed state是跟key stream關聯的。粒度是ke

原创 大數據框架總結

hdfs 1 寫數據流程 2 HDFS讀數據流程1 3 HDFS副本節點選擇 4 HDFS nn 2nn 鏡像文件以及編輯日誌的工作機制 注意此類機制都是先更新編輯日誌,再更新內存文件block元數據。 checkpoint觸發默認

原创 hadoop mr + hive數據傾斜解決

數據傾斜是進行大數據計算時常見的問題。主要分爲map端傾斜和reduce端傾斜,map端傾斜主要是因爲輸入文件大小不均勻導致,reduce端主要是partition不均勻導致。 在hive中遇到數據傾斜的解決辦法: 一、傾斜原因:map端

原创 Hbase流程框架

Hbase 總體框架 注意點 1 客戶端如果是針對數據的增刪改查(DML)那麼不需要經過HMaster 2 每一個store是一個文件夾,存儲的是一個列族在這個regin下的數據;flush就會在hdfrs上store文件夾形成一個HFi

原创 spark源碼系列1--------spark作業提交源碼流程分析

java  SparkSubmit -xxx -xxx -xxx 提交語句會在client上開啓一個提交的進程 此處只是spark在yarn cluster模式下主要的提交流程框架,主要過程如下: 1、通過啓動SparkSubmit進程,

原创 Flink架構

1 Flink 任務提交流程 TaskManager是一個獨立的jvm進程。 每個task slot表示TaskManager擁有資源的一個固定大小的子集。假如一個TaskManager有三個slot,那麼它會將其管理的內存分成三份給各個

原创 spring

1 xml依賴注入的幾種方式(也就是給對象注入數據或者其他類對象,比如@Autowired) 1)構造函數注入。相當於利用類的有參構造函數. 2)set方法注入。相當於利用類的set方法. 3)複雜類型/集合類型注入。類中成員變量arra

原创 kylin隨筆

1 kylin中一個segment是hbase中的一張表,可以通過修改kylin配置來決定將hbase這張表分爲幾個regin,以此來提高查詢的併發度。 2 增量日期分區表的合併。每天一個cube構建一個segment,存入hbase一張

原创 flink--richSink多線程處理問題以及如何保證不丟數據

筆者線上有一個 Flink 任務消費 Kafka 數據,將數據轉換後,在 Flink 的 Sink 算子內部調用第三方 api 將數據上報到第三方的數據分析平臺。這裏使用批量同步 api,即:每 50 條數據請求一次第三方接口,可以通過批

原创 spring boot工程下maven打包加載本地項目lib下的jar包的方法

1 更改dependency <dependency> <groupId>com.cloudera</groupId> <artifactId>ImpalaJDBC41</

原创 最近的一些技術資料鏈接

1 linux redis安裝 https://www.cnblogs.com/teamemory/p/9482475.html 2 flink   0->1 http://www.54tianzhisheng.cn/2018/10/30

原创 idea快捷鍵

1 IDEA自動生成構造函數 Alt + Insert    Constructor 2 Ctrl+X,刪除行 3 輸出打印System.out.println()的快捷鍵 直接輸sout 4 創建main函數快捷 輸入psv就會看到一個

原创 python導入模塊路徑優先級問題

優先級只需要 import sys print sys.path 就可以看到,優先級是按照從前向後排列的 ' '代表腳本當前位置,import優先級是最高的,其次是方法1設置的PYTHONPATH >>> import sys >>>