Перейти к основному содержанию
Перейти к основному содержанию

clickhouse_backupview

Модуль Python для анализа бэкапов, созданных командой BACKUP. Основная цель — получить информацию из бэкапа без его фактического восстановления.

Этот модуль предоставляет функции для:

  • перечисления файлов, входящих в бэкап
  • чтения файлов из бэкапа
  • получения в удобном для чтения виде полезной информации о базах данных, таблицах и частях (parts), содержащихся в бэкапе
  • проверки целостности бэкапа

Пример:

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()))

Получить список таблиц, включённых в резервную копию,

и для каждой таблицы — её запрос CREATE и списки партиций и частей.

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/')

Извлечь отдельную часть.

backup.extract_table_data(table="mydb.mytable", part="202201_100_200_3", out='/tmp/my_backup_1/202201_100_200_3/')


Дополнительные примеры см. в [тестах](https://github.com/ClickHouse/ClickHouse/blob/master/utils/backupview/test/test.py).