当将文件直接写入每个部分文件的 google 存储时,在 Google dataproc 中的 pyspark 作业中收到警告

Getting warning in pyspark job in Google dataproc when writing files directly to google storage for each part file

我在写入 google 存储时收到针对 spark 作业正在创建的每个零件文件的警告:

17/08/01 11:31:47 INFO com.google.cloud.hadoop.gcsio.CacheSupplementedGoogleCloudStorage: Populating missing itemInfo on-demand for entry: gs://temp_bucket/output/part-09698
17/08/01 11:31:47 WARN com.google.cloud.hadoop.gcsio.CacheSupplementedGoogleCloudStorage: Possible stale CacheEntry; failed to fetch item info for: gs://temp_bucket/output/part-09698 - removing from cache

Spark 作业有 10 个阶段,此警告在 9 个阶段后出现。由于 spark 作业正在创建 ~11500 个零件文件。此警告针对 ~11500 个零件文件中的每一个。由于这个警告,我的 spark 工作是 运行 额外 15 分钟,因为我 运行 大约有 80 个这样的工作。我浪费了很多时间,付出了很多代价。

有没有办法抑制这个警告?

最近的更改使得完全禁用强制列表一致性变得安全;预计未来版本将逐步淘汰它。在您的作业属性中尝试以下操作以禁用 CacheSupplementedGoogleCloudStorage:

--properties spark.hadoop.fs.gs.metadata.cache.enable=false

或者,如果您要创建新的 Dataproc 集群,请在集群属性中:

--properties core:fs.gs.metadata.cache.enable=false