如何将整个databricks目录/数据库回滚到某个时间点

问题描述 投票:0回答:1

场景是:我在 databricks 目录中的许多表上运行了一些有缺陷的转换代码。我需要将整个目录/数据库恢复到某个时间点,而不是单独恢复每个表。 databricks 中提供此功能吗?

我知道你可以在 Snowflake 中轻松完成此操作,但是 databricks 是否具有相同的功能?

database databricks rollback
1个回答
0
投票

Databricks 保存的是表级别的版本,只能恢复表,不能恢复整个数据库。

您可以运行下面的脚本来一一恢复所有表:

restore_timestamp = "2024-06-30 00:00:00"
db_name = "dwh"
tables = spark.sql(f"show tables in {db_name}").collect()
for t in tables:
    table_name = t["tableName"]
    print(table_name)
    restore_sql = f"RESTORE TABLE {db_name}.{table_name} TO TIMESTAMP AS OF '{restore_timestamp}';"
    spark.sql(restore_sql)
© www.soinside.com 2019 - 2024. All rights reserved.