将Apache Flink中的关系数据存储为状态并通过属性查询-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

将Apache Flink中的关系数据存储为状态并通过属性查询

2018-12-13 14:15:18 2986 1

我有一个包含表T1(id,name,age)和T2(id,subject)的数据库。Flink使用诸如debezium之类的东西从事件流接收来自数据库的所有更新。这些表被彼此相关的和所需的数据可以由被提取接合 T1与T2上的id。目前,数据库的整个状态存储在Flink MapState中,其中id为密钥。现在的问题是,我需要选择基于行的名字从T1不使用的ID。好像我需要T1上的索引(名字)使它更快。有没有什么方法可以自动索引它,而无需为每个表手动创建索引。这样做的推荐方法是什么?我知道表上的SQL流,但我需要支持表的更新。顺便说一下,我使用Flink和Scala。

取消 提交回答
全部回答(1)
  • flink小助手
    2019-07-17 23:20:36

    我的理解是你连接T1和T2,并存储一些表示(在MapState中)来自这两个流的键控状态的数据,由id键入。听起来T1和T2随着时间的推移而发展,并且您希望能够通过指定名称随时以交互方式查询联接。

    一种想法是以您想要选择的名称进行广播,并使用KeyedBroadcastProcessFunction来处理它们。在其processBroadcastElement方法中,您可以使用ctx.applyToKeyedState通过从MapState记录中提取数据来计算结果(必须在此运算符中保存)。我怀疑你会想要使用这些名称作为这些MapState记录中的键,这样你就不必迭代每个map中的所有条目来找到感兴趣的项目。

    0 0
相关问答

1

回答

Apache RocketMQ中 QuorumAckChecker是什么意思?

2021-11-20 20:20:30 216浏览量 回答数 1

1

回答

Apache RocketMQ中 QuorumAckChecker类图如何理解?

2021-11-20 20:21:09 151浏览量 回答数 1

1

回答

Apache RocketMQ中  QuorumAckChecker如何理解?

2021-11-20 20:01:43 135浏览量 回答数 1

1

回答

Apache RocketMQ中 EntryDispatcher的Push请求类型如何理解?

2021-11-20 20:06:43 106浏览量 回答数 1

1

回答

Apache RocketMQ中  EntryDispatcher如何理解?

2021-11-20 20:01:23 68浏览量 回答数 1

1

回答

Apache RocketMQ中 EntryDispatcher的doWork 方法如何理解?

2021-11-20 20:11:31 93浏览量 回答数 1

1

回答

Apache RocketMQ中 EntryDispatcher核心类图如何理解?

2021-11-20 20:06:22 68浏览量 回答数 1

1

回答

Apache RocketMQ中  MemberState memberState如何理解?

2021-11-20 20:04:23 74浏览量 回答数 1

1

回答

Apache RocketMQ 中 MemberState memberState 如何理解?

2021-11-19 21:13:24 72浏览量 回答数 1

1

回答

Apache RocketMQ 中  MemberState如何理解?

2021-11-19 21:05:46 106浏览量 回答数 1
+关注
flink小助手
flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。
0
文章
377
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载