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

flink-将值注入flatmap

邓驰
2023-03-14

情况:多个相同的Kafka数据源被平面映射到元组中,以便以后进行联合、缩减、保存等等。

我需要知道每个平面映射数据包来自哪个原始数据源,以标记元组中的标签。我不希望每个数据源都有单独的FlatMapFunction,因为可能有数百个。

理想情况下,我能够将一些值传递到flatmap函数中,以添加到结果元组中。

可能的还有其他的方法来实现这一点吗?

共有1个答案

苗冯浩
2023-03-14

由于有多个源操作符,因此可以通过构造函数参数简单地配置不同的源。作为替代方案,您还可以使用广播变量:https://cwiki.apache.org/confluence/display/FLINK/Variables闭包与广播变量

关于联合:这取决于您需要的语义学。如果您在减少步骤之前执行此操作,则分区会在所有源上构建——如果您在减少之后执行此操作,则每个源都会获得分区。因此,如果两个源发出具有相同键的元组,它们最终会在不同的分区中。在平面图之前执行联合不允许平面图与源链接——如果禁止链接,我预计会受到性能损失。

 类似资料:
  • 我一直在思考编译时评估注释值的Java特性,它似乎真的很难外部化注释值。 但是,我不确定这是否真的是不可能的,所以我非常感谢对此的任何建议或明确的答案。 更重要的是,我试图将控制Spring中预定方法调用之间延迟的注释值外部化,例如: 假设位于类路径上,并且包含属性键及其相应的长整型值。 现在,这段代码有明显的编译错误,因为我们试图将值赋给变量,但这是强制性的,因为我们不能将变量赋给注释值,除非它

  • imi 中有一类注解,他们支持将值动态注入到注解属性中,当调用获取注解属性时,才实时计算并返回。 注解说明 @ConstValue 从常量中读取值 属性名称 说明 name 常量名 default 常量不存在时,返回的默认值 @ConfigValue 从配置中读取值 属性名称 说明 name 配置名,支持@app、@currentServer等用法 default 配置名,支持@app、@curr

  • 我试图向自定义注释中注入一个值,但Spring似乎没有进行评估。

  • 我有我的Jhipster配置/应用程序属性。java类设置和工作,但不清楚如何将属性值注入url的假客户端注释: 使用@Value在下面不起作用: 有什么想法吗?

  • 在我的microservice Spring Boot项目中,我用@ResponseStatus注释了这个自定义异常: 它工作得很好:当引发异常时,我的控制器返回指定的状态(404),但原因没有得到解决(错误消息是“${message.custom.notFound}”)。 您知道是否有方法将属性文件中的属性注入到此注释中吗? 提前感谢

  • 我尝试用spring boot调用一个get http响应,并且在application.properties中有一个url值,我尝试在注释@getmapping中调用这个值,如下所示: 也许还有别的方法可以得到这个值? 谢谢大家的帮助。