Apache flink 在flink作业将数据写入hdfs文件时,是否可以每小时执行分区添加?

Apache flink 在flink作业将数据写入hdfs文件时,是否可以每小时执行分区添加?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,目前,Flink可以将数据以ORC格式直接写入hive的hdfs文件,但需要每小时将分区插入hive表。有没有办法每小时触发一个函数?当然,您可以拥有一个KeyedProcessFunction和一个每小时触发一次的计时器。或者,您可以编写一个实现ProcessingTimeCallback的自定义接收器(或者扩展用于HIVE的接收器来实现此功能?)。您还可以实现一个每小时发出一次事件的自定义源 代码将在所有任务管理器中运行,对吗?我需要运行分区添加一次。对。因此,要么在并行度设置为1的运算符

目前,Flink可以将数据以ORC格式直接写入hive的hdfs文件,但需要每小时将分区插入hive表。有没有办法每小时触发一个函数?

当然,您可以拥有一个
KeyedProcessFunction
和一个每小时触发一次的计时器。或者,您可以编写一个实现
ProcessingTimeCallback
的自定义接收器(或者扩展用于HIVE的接收器来实现此功能?)。您还可以实现一个每小时发出一次事件的自定义源


代码将在所有任务管理器中运行,对吗?我需要运行分区添加一次。对。因此,要么在并行度设置为1的运算符中执行此操作,要么检查
getRuntimeContext().getIndexOftHissSubTask()==0
。有没有办法用这个?看起来很有趣。