hadoop 数据块RemoteFileChangedException

lskq00tm  于 2023-10-15  发布在  Hadoop
关注(0)|答案(1)|浏览(127)

我想通过阅读S3文件夹创建一个由另一个流不断更新的框架。(大约每秒1个文件)

  1. df = spark.read.format("json").load(s3_path)
  2. display(df)

使用无隔离共享集群失败,出现以下错误。
原因:com.databricks.common.filesystem.InconsistentReadException:该文件可能已在查询执行期间更新。请确保在查询执行期间没有管道更新现有文件,然后重试。
引起:shaded.databricks.org.apache.hadoop.fs.s3a.RemoteFileChangedException:打开s3 a://xxxxx/year=2023/month=09/day=25/[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) ':在位置0处打开期间,S3报告的变化。文件s3 a://xxxxx/年=2023/月=09/日=25/x [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)在给定的modTime(1695657855000)不可用,null 它看起来像是在抱怨一个文件在它试图读取时被更改了。 我已经尝试将fs.s3a.change.detection.mode更改为none。在文档中,它说none不应该在文件上有更改时抱怨。[https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html) 在集群配置UI中,我设置了spark.hadoop.fs.s3a.change.detection.mode none`,但它没有帮助。

omhiaaxx

omhiaaxx1#

Databricks中,版本:13.3 LTS,引入了一项新功能,如果文件在查询计划阶段和执行阶段之间被修改,则可以主动检测并引发错误。
https://docs.databricks.com/en/release-notes/runtime/13.3lts.html#databricks-runtime-returns-an-error-if-a-file-is-modified-between-query-planning-and-invocation
如果您将集群切换到Databricks版本:12.2 LTS,应该可以正常工作。

相关问题