from clickhouse_backupview import open_backup, S3, FileInfo
# 打开一个备份。也可以使用本地路径:
# backup = open_backup("/backups/my_backup_1/")
backup = open_backup(S3("uri", "access_key_id", "secret_access_key"))
# 获取备份中的数据库列表。
print(backup.get_databases()))
# 获取备份中的表列表,
# 以及每张表的建表查询、parts 列表和分区列表。
for db in backup.get_databases():
for tbl in backup.get_tables(database=db):
print(backup.get_create_query(database=db, table=tbl))
print(backup.get_partitions(database=db, table=tbl))
print(backup.get_parts(database=db, table=tbl))
# 从备份中提取所有内容。
backup.extract_all(table="mydb.mytable", out='/tmp/my_backup_1/all/')
# 提取指定表的数据。
backup.extract_table_data(table="mydb.mytable", out='/tmp/my_backup_1/mytable/')
# 提取单个分区。
backup.extract_table_data(table="mydb.mytable", partition="202201", out='/tmp/my_backup_1/202201/')
# 提取单个 part。
backup.extract_table_data(table="mydb.mytable", part="202201_100_200_3", out='/tmp/my_backup_1/202201_100_200_3/')