Hadoop 如何减少ApacheFlink中接收HIVE数据的延迟?

Hadoop 如何减少ApacheFlink中接收HIVE数据的延迟?,hadoop,hive,apache-flink,flink-streaming,Hadoop,Hive,Apache Flink,Flink Streaming,我正在使用ApacheFlink for HIVE tale以orc格式直接将数据写入HDFS文件以供读取。ApacheFlink将在检查点时间后将正在进行的文件转换为完成状态。只有完成的文件对配置单元表可见。所以延迟将是检查点时间(在我的例子中是10分钟)。如果我们减少检查点时间以减少延迟,那么Flink会创建太多的HDFS文件。那么,如何在不创建太多文件的情况下减少延迟呢?您唯一能做的就是降低并行度。您唯一能做的就是降低并行度。如果我理解正确,这是在创建检查点的时间和它创建的文件数量之间进行

我正在使用ApacheFlink for HIVE tale以orc格式直接将数据写入HDFS文件以供读取。ApacheFlink将在检查点时间后将正在进行的文件转换为完成状态。只有完成的文件对配置单元表可见。所以延迟将是检查点时间(在我的例子中是10分钟)。如果我们减少检查点时间以减少延迟,那么Flink会创建太多的HDFS文件。那么,如何在不创建太多文件的情况下减少延迟呢?

您唯一能做的就是降低并行度。

您唯一能做的就是降低并行度。

如果我理解正确,这是在创建检查点的时间和它创建的文件数量之间进行权衡。它是非常特定于域的,但是您可以配置
StreamExecutionEnvironment.getCheckpointConfig().setMinPauseBeetweenCheckPoints(毫秒)
,就像这里解释的那样:或者决定使用几个检查点,这将导致大文件,然后使用压缩,如果我理解正确的话,这是在创建检查点的时间和它创建的文件数量之间的权衡。它是非常特定于域的,但是您可以配置
StreamExecutionEnvironment.getCheckpointConfig().setMinPauseBeetweenCheckPoints(毫秒)
,就像这里解释的那样:或者决定使用几个检查点,这将导致大文件,然后使用压缩修改滚动策略意味着什么?批量格式只能有
OnCheckpointRollingPolicy
,该策略(仅)在每个检查点上滚动
StreamExecutionEnvironment.getCheckpointConfig().SetMinPauseBeetweenCheckPoints(毫秒)
这行吗?SetMinPauseBeetweenCheckPoints在检查点需要很长时间才能完成的情况下非常有用,您希望Flink能够在不进行检查点的情况下运行。在你的情况下,我看不出这会有什么帮助。你修改滚动策略是什么意思?批量格式只能有
OnCheckpointRollingPolicy
,该策略(仅)在每个检查点上滚动
StreamExecutionEnvironment.getCheckpointConfig().SetMinPauseBeetweenCheckPoints(毫秒)
这行吗?SetMinPauseBeetweenCheckPoints在检查点需要很长时间才能完成的情况下非常有用,您希望Flink能够在不进行检查点的情况下运行。对你来说,我看不出有什么帮助。