Table 在 azure databricks 中不会更新或覆盖其内容。我如何使用 python 代码以编程方式执行此操作?
Table in azure databricks does not update or overwrite its contents. How could I programmatically do it using python code?
在 Azure Databricks 中,table 已经创建,我想通过 运行 每天工作/
覆盖它的内容
我尝试使用 dataframe.write.saveAsTable("table_name")
并创建了 table。在 运行 再次显示后显示错误:"The table has already created"
也尝试过:
dataframe.createOrReplaceTempView("table_name")
但只有数据帧得到更新,而不是 table.
dataframe.write.format("table_name") \
.mode('overwrite').option("header", "true")
Out[23]: <pyspark.sql.readwriter.DataFrameWriter at 0x7fe13c2f79e8>
但是 table 仍然没有被最近的数据覆盖
听起来您想将新数据帧数据覆盖到具有相同名称的 table。
请尝试使用下面的代码。
使用 mode(saveMode)
和 saveAsTable
之前的 overwrite
值。
dataframe.write.mode('overwrite').saveAsTable('table_name')
使用带参数mode
的saveAsTable(name, format=None, mode=None, partitionBy=None, **options)
。
dataframe.write.saveAsTable('table_name', mode="overwrite")
或
dataframe.write.saveAsTable('table_name', None, "overwrite", None)
希望对您有所帮助。
在 Azure Databricks 中,table 已经创建,我想通过 运行 每天工作/
覆盖它的内容我尝试使用 dataframe.write.saveAsTable("table_name")
并创建了 table。在 运行 再次显示后显示错误:"The table has already created"
也尝试过:
dataframe.createOrReplaceTempView("table_name")
但只有数据帧得到更新,而不是 table.
dataframe.write.format("table_name") \
.mode('overwrite').option("header", "true")
Out[23]: <pyspark.sql.readwriter.DataFrameWriter at 0x7fe13c2f79e8>
但是 table 仍然没有被最近的数据覆盖
听起来您想将新数据帧数据覆盖到具有相同名称的 table。
请尝试使用下面的代码。
使用
mode(saveMode)
和saveAsTable
之前的overwrite
值。dataframe.write.mode('overwrite').saveAsTable('table_name')
使用带参数
mode
的saveAsTable(name, format=None, mode=None, partitionBy=None, **options)
。dataframe.write.saveAsTable('table_name', mode="overwrite")
或
dataframe.write.saveAsTable('table_name', None, "overwrite", None)
希望对您有所帮助。