Apache flink Flink作业动态输入参数

Apache flink Flink作业动态输入参数,apache-flink,flink-streaming,Apache Flink,Flink Streaming,flink作业的一个参数是动态的,我有一个api来获取动态值。我是否可以每次在源代码中调用api,以便根据参数获取数据?这是正确的方法吗?它会给flink job带来麻烦吗?因此,如果我理解正确的话,您首先从dynamoDB获取一些密钥,然后使用它从源代码查询外部服务 我认为这在总体上应该是可能的,但在这样做的时候,没有什么事情需要考虑 不确定这种解决方案的性能。您要经常查询数据库吗?或者只是换衣服?这里有一些事情要考虑到源的良好性能。 可能很难为这种设置提供任何有力的保证,但这取决于设置本身的

flink作业的一个参数是动态的,我有一个api来获取动态值。我是否可以每次在源代码中调用api,以便根据参数获取数据?这是正确的方法吗?它会给flink job带来麻烦吗?

因此,如果我理解正确的话,您首先从dynamoDB获取一些密钥,然后使用它从源代码查询外部服务

我认为这在总体上应该是可能的,但在这样做的时候,没有什么事情需要考虑

  • 不确定这种解决方案的性能。您要经常查询数据库吗?或者只是换衣服?这里有一些事情要考虑到源的良好性能。
  • 可能很难为这种设置提供任何有力的保证,但这取决于设置本身的特性。例如,你将如何处理失败?数据库中的键多长时间更改一次?数据库中的密钥更改后,是否可以通过URL访问数据?您可能可以将最后一个读取密钥保持在状态,以便在作业失败且密钥数据库发生更改时,您可以尝试读取前一个密钥(作业已失败)的数据,但这取决于上述问题

  • 最后,根据设置的特点,可以使用现有的Flink操作符来实现这一点。例如,从技术上讲,您可以将数据库中的更改流式传输(使用一个现有的连接器,具体取决于数据库),然后在AsyncIO中使用该数据查询外部URL,这样最终您就可以从URL中获得一个数据流,而无需创建自己的源。

    这是什么类型的参数?在哪里使用参数类似于DB中的字符串值,我需要将其附加到url中以获取数据。价值观在不断变化。