Kafka Strem
Overview
Concepts
Topology
Time
States
Window
Hopping time windows
Tumbling time windows
Sliding windows
Join
API
Low-Level Processor API
High-Level DSL API
Overview
Kafka Stream特点
》简单轻量的SDK
》除了对Kafka本身的依赖外,无外部依赖
》支持容错的local state从而支持高效的状态操作,如Join和Window操作
》Record级别的处理
》提供两种处理原语,Processor API和DSL
Concepts
Stream Topology
》Stream时间上无解的,有序的,不可变数据集
》Stream Processing application通过一个或多个Topology定义的计算逻辑
》Stream processor一个计算原语,类似于Storm的Bolt
Time
》Event Time消息创建时间,一般由消费携带
》Processing Time消息被处理的时间
》Ingestion Time消息存入Topic/Partition时的时间
State
》In-memory State Store(类似Hash表,将结果存在内存中)
》Persistent State Store(一份存内存,一份存磁盘)
Window
Hopping time windows
》Advance interval 结果输出interval
》Window size计算数据集
》使用场景:Advance interval为1个小时,Window size为1s,1s刷新一次,我能知道每秒后前一个小时的pv/uv量
Tumbling time windows
》Hopping time windows的特例(Advance interval=Window size)
》使用场景:统计每一个小时的pv/uv是多少
Sliding windows
》只用于Join操作,可由JoinWindow类指定
KStream vs. KTable
KStream
》KStream为数据流,每条消息代表一条不可变的新纪录
Ktable
》KTable为change log流,每条消息代表一个更新,几条key相同的消息会将该key的值更新为最后一条消息的值
Example
》对于KStream和KTable中插入两条消息(“key”,1),(“key2”,2)
》对KStream作sum,结果为(“key1”,3)
》对KTable作sum,结果为(“key1”,2)
Join
KSream-KStream Join
》适用于Window Join
》结果为KStream
KStream-KTable Join
》KTable的变化只影响KStream中新数据
》新结果的输入由KStream驱动
》输出为KStream
KTable-KTable join
》类似于RDBMS的Join
》结果为KTable
Kafka Strem的更多相关文章
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- 消息队列 Kafka 的基本知识及 .NET Core 客户端
前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- .net windows Kafka 安装与使用入门(入门笔记)
完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS 在环境搭建过程中遇到两个问题,在这里先列出来,以方便查询: 1. \Jav ...
- kafka配置与使用实例
kafka作为消息队列,在与netty.多线程配合使用时,可以达到高效的消息队列
- kafka源码分析之一server启动分析
0. 关键概念 关键概念 Concepts Function Topic 用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上. Partition 是Kafka中横向扩展和一 ...
- Kafka副本管理—— 为何去掉replica.lag.max.messages参数
今天查看Kafka 0.10.0的官方文档,发现了这样一句话:Configuration parameter replica.lag.max.messages was removed. Partiti ...
- Kafka:主要参数详解(转)
原文地址:http://kafka.apache.org/documentation.html ############################# System ############### ...
- kafka
2016-11-13 20:48:43 简单说明什么是kafka? Apache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息 ...
随机推荐
- C++编译错误杂记
目录 2018年12月23日 error: no matching function for call to ××× 2018年12月10日 error: expected ')' before '* ...
- 如何在golang中打印grpc详细日志
最近捣鼓fabric,在一个tls证书问题上纠结挺久,连接orderer服务时候,grpc日志总是冷冰冰的显示这个信息 Orderer Client Status Code: (2) CONNECTI ...
- R语言爬虫:CSS方法与XPath方法对比(表格介绍)
css 选择器与 xpath 用法对比 目标 匹配节点 CSS 3 XPath 所有节点 ~ * //* 查找一级.二级.三级标题节点 <h1>,<h2>,<h3> ...
- 20154327 Exp4 恶意代码分析
基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 监控网络连接 监控是否创建新的进程 监控 ...
- 成都Uber优步司机奖励政策(2月1日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 长沙Uber司机奖励政策(8月24日到8月30日)
本周奖励(8月24日到8月30日) 滴滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://w ...
- Java:二进制(原码、反码、补码)与位运算
一.二进制(原码.反码.补码) 二进制的最高位是符号位(“0”代表正数,“1”代表负数): Java中没有无符号数: 计算机以整数的补码进行运算: 1. 原码:将一个整数转换成二进制表示 以 int ...
- LeetCode:36. Valid Sudoku(Medium)
1. 原题链接 https://leetcode.com/problems/valid-sudoku/description/ 2. 题目要求 给定一个 9✖️9 的数独,判断该数独是否合法 数独用字 ...
- androd hook acitivity 启动流程,替换启动的activity(Android Instrumentation)
前言:如果程序想要知道有activity启动,如果想要拦截activity,然后跳转到指定的activity怎么办? 我们看下ActivityThread 里面: private Activity p ...
- 「日常训练」 Yukari's Birthday(ZOJ-3665)
题意与分析 二分题.考虑到n的范围是\(10^{12}\),注意到等比公式\(S=a_1\frac{1-q^n}{1-q} (q\ne 1)\),可以看出,不论q有多大(1除外,这个时候\(r=1,k ...