【发布时间】:2020-10-01 12:26:10
【问题描述】:
我在增量表上的 readStream 中遇到问题。
预期内容,参考以下链接 https://docs.databricks.com/delta/delta-streaming.html#delta-table-as-a-stream-source 例如:
spark.readStream.format("delta").table("events") -- As expected, should work fine
问题,我尝试过如下方式:
df.write.format("delta").saveAsTable("deltatable") -- Saved the Dataframe as a delta table
spark.readStream.format("delta").table("deltatable") -- Called readStream
错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'DataStreamReader' object has no attribute 'table'
注意: 我在 localhost 中运行它,使用 pycharm IDE, 安装了最新版本的 pyspark,spark 版本 = 2.4.5,Scala 版本 2.11.12
【问题讨论】:
-
要确认,使用开源 Delta Lake 或 databricks-connect 到 Databricks 集群?您使用的是哪个版本的 Delta Lake jar(如果在笔记本电脑/台式机上运行)?
-
您的示例适用于 Databricks 笔记本
-
我正在使用开源 Delta Lake,spark.jars.packages="io.delta:delta-core_2.11:0.6.1"。但是,正如您提到的,此代码在 Databricks Notebook 中运行良好。我可以知道原因吗?
-
我真的不知道,因为您的第一行和第三行看起来相同。除非中间有某种语法错误,否则我不知道。请注意...几乎所有 Delta 示例都使用目录路径而不是表名。我一整天都在处理托管增量代码示例。
标签: apache-spark pyspark databricks delta-lake