英文:
How we can set table properties for delta table in pyspark using DeltaTable API
问题
以下是我正在尝试在 PySpark 中使用的代码:
from delta import DeltaTable
delta_table = DeltaTable.forPath(spark, delta_table_path)
delta_table.logRetentionDuration = "interval 1 days"
在这之后,我们需要保存这个配置吗,还是它会自动生效?我们如何检查表的当前 logRetentionDuration 设置是多少呢?
我尝试了以下方法以获取属性信息:
delta_table.detail()
但它返回空的 {}。
英文:
Below is the code that I am trying in PySpark
from delta import DeltaTable
delta_table = DeltaTable.forPath(spark, delta_table_path)
delta_table.logRetentionDuration = "interval 1 days"
After this do we need to save this config or it will be applicable automatically. How we can check what is current logRetentionDuration set for table.
I tried below to get properties info
delta_table.detail()
But it return empty {}
答案1
得分: 1
Use Spark SQL:
spark.sql("ALTER TABLE delta.`path\to\delta\table` SET TBLPROPERTIES ('delta.logRetentionDuration'='1 days')")
spark.sql("DESCRIBE DETAIL delta.`path\to\delta\table\path`").show(truncate=False)
在***"properties"***列下,您可以看到指定Delta表的日志保留期。
注意:如果保留期未正确设置,上述SQL命令将在"properties"列中返回{}
。
英文:
Use Spark SQL:
spark.sql("ALTER TABLE delta.`path\to\delta\table` SET TBLPROPERTIES ('delta.logRetentionDuration'='1 days')")
spark.sql("DESCRIBE DETAIL delta.`path\to\delta\table\path`").show(truncate=False)
Under the "properties" column you can see the log retention duration of the specified delta table.
Note: If the retention period was not set properly, the above SQL command returns {}
in the properties column.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论