原创 Kafka——可靠的數據傳遞

Kafka——可靠的數據傳遞 kafka的複製機制和分區的多副本架構時kafka可靠性保證的核心。 可靠性保證 ACID規範:原子性、一致性、隔離性和持久性 kafka可以保證分區內消息的順序 只有當消息被寫入分區的所有同步

原创 kafka——Producer

package com.ourhome.flink.test import java.text.SimpleDateFormat import java.util.{Date, Properties} import org.a

原创 Kafka——從特定offset開始消費

指定分區從頭消費 指定分區從最新offset消費 指定分區、offset消費 指定分區從頭消費 package test.kafka.kafkaconsumer import java.util.Properties imp

原创 Kafka——簡介與架構

Kafka——簡介與架構 一、簡介 1.1 概述 什麼是Kafka: 最初由Linkedin公司開發,由scala編寫,其誕生是爲了解決Linkedin的數據管道問題——由於各種缺陷而導致消息阻塞或者服務無法正常訪問; 分佈

原创 Kafka——日誌存儲原理

Kafka底層數據存儲設計 topic——>partitions——>segments——>.index&.log Kafka中的消息是以topic爲基本單位進行組織和分類; 每個topic分爲多個partition,

原创 Kafka——再均衡監聽器

在爲消費者分配新分區或者移除舊分區時,可以通過消費者API執行一些應用程序代碼,在調用subscribe方法時,傳進去一個ConsumerRebalanceListener實例就可以了。ConsumerRebalanceListe

原创 Kafka——Consumer提交偏移量

Kafka提交偏移量的方式: 自動提交 手動提交——同步 手動提交——異步 自動提交 package test.kafka import java.util.Properties import org.apache.k

原创 Flink——Side Output側輸出流

主要內容: 結合應用場景,介紹Flink側輸出流的使用流程和原理 在處理數據的時候,有時候想對不同情況的數據進行不同的處理,那麼就需要把數據流進行分流。可以在主數據流上產生出任意數量額外的側輸出流。 1 場景 某公司使用埋點組

原创 Flink——原理與實戰:AggregateFunction

一 aggregate()函數 Flink 的AggregateFunction是一個基於中間計算結果狀態進行增量計算的函數。由於是迭代計算方式,所以,在窗口處理過程中,不用緩存整個窗口的數據,所以效率執行比較高。 該函數會將給定

原创 Kafka——源碼分析:Log、LogSegMent、Index

1 Kafka 日誌結構概覽 Kafka 日誌在磁盤上的組織架構: Kafka 日誌對象由多個日誌段對象組成,而每個日誌段對象會在磁盤上創建一組文件: 消息日誌文件(.log) 位移索引文件(.index) 時間戳索引文件(.

原创 Flink——Time&Windows&Watermark

1 Flink時間語義 時間屬性是流處理中最重要的一個方面,是流處理系統的基石之一。Flink作爲一個先進的分佈式流處理引擎,支持不同的時間語義: Event Time:事件生成時間,可根據每一條處理記錄所攜帶的時間戳來判定。

原创 Flink——實戰:EventTime結合Watermark應用案例

方案 ​ 1.創建記錄用戶消費的ConsumerMess類:包括三個屬性:用戶ID、消費金額、消費時間 case class ConsumerMess(userId:Int, spend:Double, Time:Long) ​

原创 Flink——原理與實戰:RedisSink

Flink Redis Connector提供了一個Sink可將數據寫入Redis。若要使用該連接器需要將以下內容引入工程: <!-- redis connector --> <dependency> <groupId>o

原创 Flink——實戰之MySQL Sink

準備工作 Flink自身並沒有提供連接MySQL的連接器,需要手動引入: <!-- mysql connector --> <dependency> <groupId>mysql</groupId> <artifa

原创 Spark——消費Kafka數據保存Offset到Redis

主要內容: Scala實現SparkStreaming消費Kafka數據保存Offset到Redis,實現自主維護Offset 介紹部分源碼 SparkStreaming自主維護Offset的流程 SparkStream