zoukankan      html  css  js  c++  java
  • 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从而支持高效的状态操作,如JoinWindow操作

    Record级别的处理

    》提供两种处理原语,Processor APIDSL

    Concepts

    Stream Topology

    Stream时间上无解的,有序的,不可变数据集

    Stream Processing application通过一个或多个Topology定义的计算逻辑

    Stream processor一个计算原语,类似于StormBolt

    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 interval1个小时,Window size1s1s刷新一次,我能知道每秒后前一个小时的pv/uv

    Tumbling time windows

    Hopping time windows的特例(Advance interval=Window size

    》使用场景:统计每一个小时的pv/uv是多少

    Sliding windows

    》只用于Join操作,可由JoinWindow类指定

    KStream vs. KTable

    KStream

    KStream为数据流,每条消息代表一条不可变的新纪录

    Ktable

    KTablechange log流,每条消息代表一个更新,几条key相同的消息会将该key的值更新为最后一条消息的值

    Example

    》对于KStreamKTable中插入两条消息(“key”,1),(“key2”,2)

    》对KStreamsum,结果为(“key1”,3)

    》对KTablesum,结果为(“key1”,2)

    Join

    KSream-KStream Join

    》适用于Window Join

    》结果为KStream

    KStream-KTable Join

    KTable的变化只影响KStream中新数据

    》新结果的输入由KStream驱动

    》输出为KStream

    KTable-KTable join

    》类似于RDBMSJoin

    》结果为KTable

  • 相关阅读:
    [IOS] iphone开发之UITableView之UITableViewCell [待续中。。。]
    人生需有三心境,你有吗?
    iPad iPhone程序增加启动画面
    [转载]IOS学习之UIApplication深入学习
    [IOS] iphone开发之[美化按钮]
    程序中调用Safari
    ios编程:iPhone Howto:给UIView拍照
    IOSAPNS 消息推送实践
    ios 设备方向判断
    [IOS]iphone开发之横屏与竖屏在不同视图之间的切换
  • 原文地址:https://www.cnblogs.com/WardSea/p/7448958.html
Copyright © 2011-2022 走看看