Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

clickhouse-static-files-disk-uploader

Gera um diretório de dados contendo metadados de uma tabela específica do ClickHouse. Esses metadados podem ser usados para criar uma tabela do ClickHouse em outro servidor contendo um conjunto de dados em modo somente leitura com suporte de um disco web.

Não use esta ferramenta para migrar dados. Em vez disso, use os comandos BACKUP e RESTORE.

Uso

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

Comandos

Comando Descrição
-h, --help Exibe informações de ajuda
--metadata-path [path] O caminho que contém os metadados da tabela especificada
--test-mode Habilita o modo test, que envia uma requisição PUT para a URL informada com os metadados da tabela
--link Cria links simbólicos em vez de copiar os arquivos para o diretório de saída
--url [url] URL do servidor web para o modo test
--output-dir [dir] Diretório em que os arquivos serão gerados no modo non-test

Recupere o caminho de metadados da tabela especificada

Ao usar clickhouse-static-files-disk-uploader, você deve obter o caminho de metadados da tabela desejada.

  1. Execute a seguinte consulta, especificando sua tabela de destino e o banco de dados:

SELECT data_paths
  FROM system.tables
  WHERE name = 'mytable' AND database = 'default';
  1. Isso deve retornar o caminho do diretório de dados da tabela especificada:

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

Exportar o diretório de metadados da tabela para o sistema de arquivos local

Usando o diretório de saída de destino output e um caminho de metadados especificado, execute o seguinte comando:

$ clickhouse static-files-disk-uploader --output-dir output --metadata-path ./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/

Se tudo der certo, você deverá ver a seguinte mensagem, e o diretório output deverá conter os metadados da tabela especificada:

Data path: "/Users/john/store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee", destination path: "output"

Enviar o diretório de metadados da tabela para uma URL externa

Este passo é semelhante a enviar o diretório de dados para o sistema de arquivos local, mas com a adição da flag --test-mode. Em vez de especificar um diretório de saída, você deve informar uma URL de destino por meio da flag --url.

Com o modo test habilitado, o diretório de metadados da tabela é enviado para a URL especificada por meio de uma requisição PUT.

$ clickhouse static-files-disk-uploader --test-mode --url http://nginx:80/test1 --metadata-path ./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/

Usando o diretório de metadados da tabela para criar uma tabela do ClickHouse

Depois de obter o diretório de metadados da tabela, você pode usá-lo para criar uma tabela do ClickHouse em outro servidor.

Consulte este repositório no GitHub, que mostra uma demo. No exemplo, criamos uma tabela usando um disco web, o que nos permite associá-la a um conjunto de dados em outro servidor.

Navigation