【发布时间】:2020-07-24 07:20:03
【问题描述】:
我使用 Apache Flink 直接将数据以 orc 格式写入 HDFS 文件,以便读取 HIVE 故事。 Apache Flink 将在检查点时间后将正在进行的文件转换为完成状态。只有完成的文件对 HIVE 表可见。所以延迟将是检查点时间(在我的情况下是 10 分钟)。如果我们减少检查点时间以减少延迟,那么 Flink 会创建过多的 HDFS 文件。那么如何在不创建太多文件的情况下减少延迟呢?
【问题讨论】:
-
如果我理解正确,这是创建检查点的时间和创建的文件数量之间的权衡。它是非常特定于域的,但也许您可以配置
StreamExecutionEnvironment.getCheckpointConfig().setMinPauseBetweenCheckpoints(milliseconds),就像这里解释的那样:ci.apache.org/projects/flink/flink-docs-stable/ops/state/… -
或者可能决定使用很少的检查点,这将导致大文件,然后使用压缩ci.apache.org/projects/flink/flink-docs-stable/ops/state/…
标签: hadoop hive apache-flink flink-streaming