메인 콘텐츠로 건너뛰기
지정한 ClickHouse 테이블의 메타데이터가 포함된 데이터 디렉터리를 생성합니다. 이 메타데이터를 사용하면 web 디스크를 기반으로 하는 읽기 전용 데이터셋용 ClickHouse 테이블을 다른 서버에 생성할 수 있습니다. 이 도구를 데이터 마이그레이션에 사용하지 마십시오. 대신 BACKUPRESTORE 명령을 사용하십시오.

사용법

$ clickhouse static-files-disk-uploader [args]

명령어

CommandDescription
-h, --help도움말 정보를 출력합니다
--metadata-path [path]지정된 테이블의 메타데이터가 들어 있는 경로
--test-modetest 모드를 활성화합니다. 이 모드에서는 테이블 메타데이터와 함께 지정된 URL로 PUT 요청을 보냅니다
--link파일을 출력 디렉터리로 복사하는 대신 심볼릭 링크를 생성합니다
--url [url]test 모드에서 사용할 웹 서버 URL
--output-dir [dir]non-test 모드에서 파일을 출력할 디렉터리

지정한 테이블의 메타데이터 경로 가져오기

clickhouse-static-files-disk-uploader를 사용할 때는 원하는 테이블의 메타데이터 경로를 확인해야 합니다.
  1. 대상 테이블과 데이터베이스를 지정해 다음 쿼리를 실행하십시오:

SELECT data_paths
  FROM system.tables
  WHERE name = 'mytable' AND database = 'default';
  1. 그러면 지정한 테이블의 데이터 디렉터리 경로가 반환됩니다:

┌─data_paths────────────────────────────────────────────┐
│ ['./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/'] │
└───────────────────────────────────────────────────────┘

테이블 메타데이터 디렉터리를 로컬 파일 시스템에 출력

대상 출력 디렉터리 output과 지정된 메타데이터 경로를 사용해 다음 명령을 실행하십시오.
$ clickhouse static-files-disk-uploader --output-dir output --metadata-path ./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/
성공적으로 완료되면 다음 메시지가 표시되고, output 디렉터리에는 지정한 테이블의 메타데이터가 들어 있어야 합니다:
Data path: "/Users/john/store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee", destination path: "output"

테이블 메타데이터 디렉터리를 외부 URL로 내보내기

이 단계는 --test-mode 플래그가 추가된다는 점만 제외하면 데이터 디렉터리를 로컬 파일 시스템으로 내보내는 것과 비슷합니다. 출력 디렉터리를 지정하는 대신 --url 플래그로 대상 URL을 지정해야 합니다. test 모드가 활성화되면 테이블 메타데이터 디렉터리가 PUT 요청을 통해 지정한 URL로 업로드됩니다.
$ clickhouse static-files-disk-uploader --test-mode --url http://nginx:80/test1 --metadata-path ./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/

테이블 메타데이터 디렉터리를 사용하여 ClickHouse 테이블 생성하기

테이블 메타데이터 디렉터리가 있으면 이를 사용해 다른 서버에서 ClickHouse 테이블을 생성할 수 있습니다. 데모는 이 GitHub 리포지토리에서 확인하십시오. 이 예시에서는 web 디스크를 사용해 테이블을 생성하며, 이를 통해 테이블을 다른 서버의 데이터셋에 ATTACH할 수 있습니다.
마지막 수정일 2026년 6월 19일