我在数据库中使用自动加载器。但是当我将流保存为增量表时,生成的表不是增量表。
.writeStream
.format("delta") # <-----------
.option("checkpointLocation", checkpoint_path)
.option("path", output_path)
.trigger(availableNow=True)
.toTable(table_name))
delta.DeltaTable.isDeltaTable(spark, table_name)
> false
为什么生成的表不是增量格式?如果我尝试使用spark.read(table_name)
读取表,它可以工作,但如果我尝试使用Redash或内置数据库的数据选项卡,它会产生错误,架构无法很好地解析。
获取表时出错:table_name com.数据块.后端.公共. rpc.数据块异常$SQL执行异常:org.apache.spark.sql.AnalysisException:检测到不兼容的格式在s3://delta/_delta_log
处找到了Databricks Delta的事务日志,但您正在尝试使用格式("parquet")从s3://delta
读取。在读取和写入增量表时必须使用"format(" delta ")"。
1条答案
按热度按时间sqxo8psd1#
你能试试这个吗:
你能试试
table
吗