我得到下面的脚本错误
“阅读文件/mnt/topics/audit-logs/minio.sys.tmp/multipart/v1/c782. 025a337657/azure.json时出错。已收到文件的文件通知:/mnt/topics/audit-logs/minio.sys.tmp/multipart/v1/c782.025a337657/azure.json,但它已不存在。请确保文件在处理之前未被删除。要继续您的流,您可以将Spark SQL配置spark.sql.files.ignoreMissingFiles设置为true。
table_name= "main.deltalake_db.Table_test"
checkpoint_path = "/mnt/_checkpoint"
file_path ="/mnt/topics/audit-logs"
schema = "authenticationMechanism STRING,authenticationMechanismId STRING"
(spark.readStream
.format("cloudFiles")
.option("cloudFiles.format", "json")
.option("cloudFiles.schemaLocation", checkpoint_path)
.schema(schema)
.load(file_path)
.writeStream
.option("checkpointLocation", checkpoint_path)
.trigger(availableNow=True)
.toTable(table_name))
这是工作正常之前,但我改变了集群配置,并通过提供keyvault范围挂载的位置。现在一切都破碎了。我试图移动到原始配置,但同样的错误。有人能帮忙吗。我应该把这个配置移到脚本中的什么地方?
1条答案
按热度按时间mkshixfv1#
你得到的错误是缺少文件。为了避免此错误并继续在Spark SQL配置代码下面运行流。
或者在
readstream
之前添加spark.conf.set
,如下所示。并尝试运行您的代码。