clickhouse_backupview
clickhouse_backupview
clickhouse_backupview는 BACKUP 명령으로 만든 백업을 분석할 수 있게 도와주는 파이썬 모듈이에요. 백업을 실제로 복원하지 않고도 백업에서 필요한 정보를 얻는 것이 주 목적입니다.
출처: 문서
본문
BACKUP 명령으로 만든 백업을 분석하는 데 도움을 주는 파이썬 모듈입니다. 주된 동기는 백업을 실제로 복원하지 않고도 백업에서 일부 정보를 얻을 수 있게 하는 것이었어요. 이 모듈은 다음 기능을 제공합니다.
- 백업에 포함된 파일 나열
- 백업에서 파일 읽기
- 백업에 포함된 데이터베이스, 테이블, 파츠(parts)에 대한 유용한 정보를 읽기 쉬운 형태로 얻기
- 백업 무결성(integrity) 확인
예시 (Example)
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/')
더 많은 예시는 test를 참고하세요.