原创 Spark Sql Join 全解

JOIN類型 inner 默認連接,連接左右都匹配上的 cross 笛卡尓積 outer, full, full_outer 左右的結果全部列出,沒匹配上的NULL代替 left, left_outer 左邊的全要,沒匹配上的N

原创 Kudu Vs Hbase Vs Hadoop

Kudu Vs Hbase Vs Hadoop Hadoop在離線批量環境下分析能力最強,在隨機查詢條件下表現最差,適合N+1這種場景 Kudu 大數據量下實時分析能力強,在隨機查詢下擁有較低的延遲,適合實時寫,實時分析的場景

原创 Java 零拷貝

正常拷貝 Kafka 消費者消費數據,從文件中讀數據流程 產生4次上下文切換,4次數據複製 使用零拷貝 2次上下文,3次複製 Java示例程序 public class Copy { public static v

原创 Kafka 一次性語義實現

冪等 生產者會分配 生產者ID,序列號 pid,seq broker 維護<Pid,分區> 的序列號 新序列號=老序列號+1 接受 新序列號<老序列號+1 丟棄,證明數據重複了 新序列號>老序列號+1 拋出亂序異常,證明中間的數

原创 Flink State實戰,寫入查詢

State state是實現flink一次性語義的核心,在1.9之後增加了API來讀取state 寫State import org.apache.flink.api.common.state.ListState; import

原创 一圖理解 Hbase Bloom Filter 的使用

結論 Bloot Filter能在大數據量的情況下判斷元素在集合中是否存在 如果過濾器判斷不存在則一定不在集合中 如果判斷在,則有一定的誤差,實際可能不在集合中 場景 hbase 在查詢的時候通過Filter就可以高效的判斷數據是

原创 Kafka Log結構

Topic Partition Log 每個partition對應Log log和index 對應關係爲稀疏索引

原创 GO 實現 interface

接口實現 go語言中的接口實現是一種隱式實現 import "fmt" type Say interface { sayhello() saybye() } func (t people) sayhello() { fm

原创 Protoc序列化例子

protoc 是一個靈活,高效,結構化折數據序列化框架,支持數據結構化一次,到處使用。 前置工作 安裝protoc ,mac比較方便,直接命令braw命令行 查看版本號 下載版本號對應的jar包 proto文件 syntax =

原创 Flume 多Channel/多Sink

文章目錄單管道設計多管道、多輸出 單管道設計 示例代碼 # example.conf: A single-node Flume configuration # Name the components on this agent

原创 Grpc 實戰Java 調用python

文章目錄背景服務端客戶端測試 背景 主要是爲了解決在java代碼中調用python服務的問題,考慮到性能的要求,還是決定採用RPC協議調用 服務端 接口定義文件,注意java和python定義文件相同 syntax = "

原创 記一次Caused by: java.lang.NoSuchFieldError 排查過程

文章目錄錯誤現象分析問題問題總結 錯誤現象 UDF 函數裏引用了httpclient jar包,用來請求外網,報錯 Caused by: java.lang.NoSuchFieldError: INSTANCE at org.a

原创 HIVE 實現均勻抽樣

文章目錄需求思路 需求 用Hive處理數據的時候,如何做到均勻抽樣? 思路 用這個函數 ntile(n) 分成N份 ,切分的方法,按照時間排序 ntile(24) OVER (PARTITION BY user_id ORDER

原创 Flink源碼-6-JobMaster 啓動任務

JobMaster jobmaster負責執行整個任務 入口類 org.apache.flink.runtime.jobmaster.JobMaster public CompletableFuture<Acknowledge>

原创 ORC與Parquet文件對比

總結如下