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是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息 ...
随机推荐
- lr中常用函数以str开头函数
对各函数的定义: strcat( ):添加一个字符串到另一个字符串的末尾.strncat (拼接指定长度字符串) --粘贴操作 ...
- (cmath)关于头文件cmath
关于头文件cmath // -*- C++ -*- C forwarding header. // Copyright (C) 1997-2014 Free Software Foundation, ...
- print&input--Python
1.print --> 打印到屏幕输出字符串 print("this is a dog!") -->代码 D:\Python\venv\Scripts\python.e ...
- Java设计模式(20)——行为模式之命令模式(Command)
一.概述 概念 类似C中的callback! UML简图 角色 客户端:创建具体命令,指定接收者 命令接口:声明命令的接口 具体命令:定义接收者和行为之间的弱耦合(execute执行方法) 请求者(I ...
- c++中string (MFC)
题目:UVALive - 6439 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid= ...
- OI生涯回忆录(二)
(二)NOIP2016之后到HLOI2017 之后变得有点颓废,因为有的地方难度上来了,碰见不会的题我就会放挺.又或者有时候题水,改完了就不思进取了.到了过年前那几天连着考了几天试,好像是长春那边冬令 ...
- CF 741 D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths http://codeforces.com/problemset/probl ...
- OpenCV 3.2 Viz 3D可视化
该可视化模块提供了坐标系变化,3D动画等功能 最简单的显示坐标系 viz::Viz3d window("window"); window.showWidget("Coor ...
- APP产品设计流程图
产品设计流程(toB) 工作有半个月了,遇到了很多问题,也在不断学习和充实自己,让自己的工作变得更加清晰和流程化,所以整理了这么个设计流程. 收集整理一切有用或则以后可能会用的文档. 从文档里面提炼用 ...
- CSS随笔3
1. CSS部分简洁使用 * background-radious:使得边框角“圆化”. * background:pink url(“图片路径”) no-repeat: * border 可以有 ...