csv= env.readCsvFile(csvPath) -6ren">
gpt4 book ai didi

java - Apache-Flink 快速入门 - 读取 CSV 文件错误 : Futures timed out after [10000 milliseconds]

转载 作者:行者123 更新时间:2023-12-02 03:07:02 27 4
gpt4 key购买 nike

我想在本地使用Flink-API读取CSV文件,代码如下:

csvPath="data/weather.csv";
List<Tuple2<String, Double>> csv= env.readCsvFile(csvPath)
.types(String.class,Double.class).collect();

我尝试了一些不同大小的文件(从 800mb 到 6gb)。有时操作成功完成,有时则失败,因为出现以下超时异常:

Exception in thread "main" java.util.concurrent.TimeoutException: Futures timed out after [10000 milliseconds]
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:153)
at scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:169)
at scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:169)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
at scala.concurrent.Await$.ready(package.scala:169)
at org.apache.flink.runtime.minicluster.FlinkMiniCluster.shutdown(FlinkMiniCluster.scala:439)
at org.apache.flink.runtime.minicluster.FlinkMiniCluster.stop(FlinkMiniCluster.scala:408)
at org.apache.flink.client.LocalExecutor.stop(LocalExecutor.java:127)
at org.apache.flink.client.LocalExecutor.executePlan(LocalExecutor.java:195)
at org.apache.flink.api.java.LocalEnvironment.execute(LocalEnvironment.java:91)
at org.apache.flink.api.java.ExecutionEnvironment.execute(ExecutionEnvironment.java:923)
at org.apache.flink.api.java.DataSet.collect(DataSet.java:410)
at org.apache.flink.simpleCSV.run(simpleCSV.java:83)

如何解决这个问题?以编程方式增加此超时?或者我应该把配置文件放在某个地方?我是否应该根据文件大小设置特定的堆大小?

最佳答案

collect() 将数据从集群传输到本地客户端。这仅适用于非常小的数据集(< 10 MB)。

如果您有更大的数据集,则需要在集群上处理它们并通过输出格式发出结果,例如将其写入文件。

关于java - Apache-Flink 快速入门 - 读取 CSV 文件错误 : Futures timed out after [10000 milliseconds],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41589732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com