当前位置: 首页 > 知识库问答 >
问题:

如何组织复杂的Apache Flink应用程序?

越正阳
2023-03-14

我们使用flink从一些物联网传感器生成事件。每个传感器都可用于生成不同类型的事件(如温度、湿度等)。一比多比率(传感器-

为了丰富传感器数据,我们将连接传感器数据流和表API。只需添加带有已启用事件列表的元数据。

那么,如果某些特定的传感器-123仅启用了TEMPPRESSURE事件,如何将传感器数据仅发送到这两个定义的过程函数?

我想到了如下情况:

val enriched: DataStream[EnrichedSensorData] = ...

val temp = enriched.filter(x => isTempEnabled(x)).process(....)
val humd = enriched.filter(x => isHumdEnabled(x)).process(....)
val press = enriched.filter(x => isPressEnabled(x)).process(....)

>

在我的案例中,执行数据丰富过程的最佳方式是什么?将传感器数据流与表流连接(通过flink cdc连接器)使用浓缩过程中的状态功能缓存映射传感器ID-

共有1个答案

邓翼
2023-03-14

>

如果您有数百万个传感器,每个传感器都有元数据,那么使用JDBC源,并与传感器数据进行(有状态的)连接。您必须处理在相应的元数据记录之前获取传感器数据记录的情况,在这种情况下,您希望将其存储为状态,然后在元数据记录到达时生成结果(和清除状态)。

 类似资料:
  • 问题内容: 我正在寻找一个使用序列化ORM的示例nodejs应用程序。 我主要担心的是,如果由于require()依赖关系循环而导致模型之间具有复杂的关系,那么几乎不可能在单独的js文件中定义模型。也许人们在一个非常长的文件中定义了所有模型? 我主要对模型的定义和在整个应用程序中的使用感兴趣。我想验证一下我自己正在做的事情是“好的”做事方式。 问题答案: 短篇小说 这种情况下的诀窍不是初始化文件中

  • 问题内容: 我正在构建我的第一个Flask应用程序,但找不到一种干净利落的Python方式来组织应用程序。我不想像他们的示例一样将所有内容都放在一个.py文件中。我想将我的应用程序的每个部分放在一个单独的模块中。什么是组织事物的好方法? 问题答案: 我创建了一个名为“ Fbone ” 的Flask样板项目,请随时检查并进行分叉:) Fbone(Flask bone)是Flask(Pythonmic

  • 我有一个PHP应用程序,我想在我的前端部分通过运行,这工作正常,因为它实际上与“正常”相同。这工作正常。 当我开始尝试做安全的跨来源请求时,我真的很困惑。例如,我只想在用户登录时允许一些请求。但是,当测试会话是否仍然存在时,它不再存在。例如,我只是不想随便有人窃听某人的个人资料。或者获取我不想让随机的人看到的任何类型的数据。 通过如下所示的此模型的请求,但要使它们安全。因为我希望保护某些数据仅供登

  • 我是Django的新手。我阅读了文档,对媒体根文件和静态根文件以及css文件和javascript文件应该放在哪里感到困惑。 你们能给我指出正确的方向吗?项目设置: 我的static\u url、static\u root、media\u url、media\u root、STATICFILES\u DIRS和STATICFILES\u FINDERS应该是什么样子? 我目前是如何加载css文件的

  • 问题内容: 我当前的应用程序有一个JFrame,其中大约15个动作存储为JFrame中的字段。每个动作都是一个匿名类,其中一些动作相当长。 将动作分解成自己的类是否很常见(可能在称为动作的子包中)? 如果没有,通常如何驯服这种复杂性? 谢谢 问题答案: 如果您的操作可能是可重用的(例如,通过键盘快捷键,其他菜单,其他对话框等),尤其是如果它们可以直接在基础模型上工作(而不是在UI上),那么通常会更

  • 问题内容: 在Linux中,下载了程序源并希望将其静态链接。我那里有一个巨大的Makefile 编译。预言这有点太笼统了,但是如何使二进制文件静态链接? 编辑:这样做的原因是要确保二进制文件没有依赖性(或至少尽可能少),从而使其可以在任何基于Linux的计算机上运行,​​甚至可以在没有Internet连接和未更新的Linux上运行。 问题答案: 大多数生成的脚本将允许您进行静态构建: 如果这样不起