Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Como exportar dados do MySQL para Parquet, CSV ou JSON usando ClickHouse

Exportando dados do MySQL para Parquet, CSV ou JSON com o ClickHouse

A ferramenta clickhouse-local permite ler dados do MySQL e exportá-los de forma rápida e fácil para diversos formatos, incluindo Parquet, CSV e JSON. Vamos:

  • Usar a mysql função de tabela para ler os dados
  • Usar a cláusula INTO OUTFILE _filename_ FORMAT e especificar o formato de saída desejado

A ferramenta clickhouse-local faz parte do binário do ClickHouse. Baixe-a com o seguinte:

curl https://clickhouse.com/ | sh

Exportar MySQL para Parquet

A função de tabela mysql cria uma tabela com base nos resultados de uma consulta enviada a uma instância do MySQL. Por exemplo:

SELECT *
FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
);

Podemos redirecionar a saída desta consulta para um arquivo usando INTO OUTFILE. Use FORMAT para especificar o formato do arquivo que será criado. Vamos extrair todo o conteúdo de uma tabela do MySQL e enviá-lo para um arquivo Parquet:

./clickhouse local -q "SELECT * FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
)
INTO OUTFILE 'my_output_file.parquet'"

Exportar MySQL para CSV

É o mesmo que no caso do Parquet, exceto que, desta vez, usamos a extensão .csv no nome do arquivo. O ClickHouse entenderá que queremos uma saída separada por vírgulas e os dados serão gravados no arquivo dessa forma:

./clickhouse local -q "SELECT * FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
)
INTO OUTFILE 'my_output_file.csv'"

Exportar MySQL para JSON

Para exportar de MySQL para JSON, basta mudar a extensão do nome do arquivo para jsonl ou ndjson:

./clickhouse local -q "SELECT * FROM
   mysql(
    'localhost:3306',
    'my_sql_database',
    'my_sql_table',
    'user',
    'password'
)
INTO OUTFILE 'my_output_file.ndjson'"

É impressionante como a ferramenta clickhouse-local é, ao mesmo tempo, simples e poderosa. Você pode facilmente ler dados de um banco de dados como o MySQL e gerá-los em todos os tipos de formatos de saída diferentes.

Navigation