transwarp Slipstream 简介之事件驱动流处理

1. 从流表导数据到普通表

SET streamsql.use.eventmode=true;
CREATE STREAM s1(score INT, name STRING) TBLPROPERTIES("topic"="tps1","kafka.zookeeper"="tw-
     node127:2181", "kafka.broker.list"="tw-node127:9092");
     CREATE TABLE t1(score INT, name STRING);
     INSERT INTO t1 SELECT * FROM s1;
     --注: 事件驱动模式下提交的StreamJob是一个常驻的Active Job。

2. 在Window Stream上做聚合后插到普通表

SET streamsql.use.eventmode=true;
SET streamsql.use.eventtime=true; --使用事件时间
     CREATE STREAM s1(score INT, name STRING, ts STRING) TBLPROPERTIES("topic"="tps1"
     ,"kafka.zookeeper"="tw-node127:2181", "kafka.broker.list"="tw-node127:9092","timefield"="ts"
     ,"timeformat"="yyyy-MM-dd HH:mm:ss","use.lowlevel.consumer"="true");
CREATE STREAM s1win AS SELECCT * FROM s1 STREAMWINDOW (LENGTH ‘4SECOND SLIDE ‘2SECOND); -- 创建Window Stream
     CREATE TABLE t1(score INT, name STRING);
     INSERT INTO t1 SELECT SUM(score), name FROM s1win GROUP BY NAME;
--在事件驱动的流处理模式下,如果StreamJob使用事件时间处理,那在建Stream表时 需要额外添加"use.lowlevel.consumer"="true"这个表属性。

3. 两个Window Stream关联后插入普通表

SET streamsql.use.eventmode=true;
SET streamsql.use.eventtime=true; --使用事件时间
CREATE STREAM s1(score INT, name STRING, ts STRING) TBLPROPERTIES("topic"="tps1" ,"kafka.zookeeper"="tw-node127:2181", "kafka.broker.list"="tw-node127:9092","timefield"="ts" ,"timeformat"="yyyy-MM-dd HH:mm:ss","use.lowlevel.consumer"="true");
CREATE STREAM s1win AS SELECCT * FROM s1 STREAMWINDOW (LENGTH ‘4SECOND SLIDE ‘2SECOND); -- 创建Window Stream
CREATE STREAM s2(class INT, name STRING, ts STRING) TBLPROPERTIES(“topic”=”tps2” ,"kafka.zookeeper"="tw-node127:2181", “kafka.broker.list”=”tw-node127:9092”,”timefield”=”ts”, ”timeformat”=”yyyy-MM-dd HH:mm:ss”,"use.lowlevel.consumer"="true");
CREATE STREAM s2win AS SELECCT * FROM s2 STREAMWINDOW (LENGTH ‘4SECOND SLIDE ‘2SECOND); -- 创建Window Stream
     CREATE TABLE t1(score INT, class INT, name STRING);
     INSERT INTO t1 SELECT score, class, s1win.name FROM s1win JOIN s2win ON s1win.name=s2win.name;
     --事件驱动的流处理模式下,如果StreamJob使用事件时间处理,那在建Stream表时 需要额外添加"use.lowlevel.consumer"="true"这个表属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值