如何在Spark结构化流中指定deltalake表的位置?

时间:2019-06-27 14:51:28

标签: apache-spark spark-structured-streaming delta-lake

我收到一个流数据,并使用以下代码将其保存为deltalake表:

cast_dataframe.writeStream.format("delta").outputMode("append")
.option("checkpointLocation",checkpointLocation)
.table(databasename+"."+tablename)

这里的database是数据库的名称,而tablename是用于创建表的表的名称。

当我使用显示创建表来显示表的架构时,位置字段指向一个随机位置,例如abfs://storageaccount@storageaccount.dfs.core.net / default / db_name / table_name。但是,我想将位置指向我的指定位置。我该怎么办?

我尝试了以下方法,但是没有用。

 cast_dataframe.writeStream.format("delta").outputMode("append")
 .option("checkpointLocation",checkpointLocation)
 .table(databasename+"."+tablename)
  .save(my_specified_location)

但是上面的方法不起作用。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

.table.save是动作,不能同时使用。实际上,这与增量数据源无关。


Delta Lake table as a sink的官方文档中,您可以找到以下内容:

.start("/delta/events") // as a path

似乎完全符合您的“但是我想将位置指向我指定的位置。”