Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Cómo exportar datos de MySQL a Parquet, CSV o JSON con ClickHouse

Exportación de datos de MySQL a Parquet, CSV o JSON con ClickHouse

La herramienta clickhouse-local permite leer datos de MySQL de forma rápida y sencilla y exportarlos en muchos formatos distintos, incluidos Parquet, CSV y JSON. Vamos a:

  • Usar la función de tabla mysql para leer los datos
  • Usar la cláusula INTO OUTFILE _filename_ FORMAT y especificar el formato de salida deseado

La herramienta clickhouse-local forma parte del binario de ClickHouse. Descárguela con lo siguiente:

curl https://clickhouse.com/ | sh

Exportar MySQL a Parquet

La función de tabla mysql crea una tabla a partir de los resultados de una consulta enviada a una instancia de MySQL. Por ejemplo:

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

Podemos redirigir la salida de esta consulta a un archivo usando INTO OUTFILE. Use FORMAT para especificar el formato del archivo que se va a crear. Tomemos todo el contenido de una tabla de MySQL y enviémoslo a un archivo 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 a CSV

Es igual que con Parquet, salvo que esta vez usamos la extensión .csv en el nombre del archivo. ClickHouse detectará que queremos una salida separada por comas, y así se escribirán los datos en el archivo:

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

Exportar MySQL a JSON

Para exportar de MySQL a JSON, solo tienes que cambiar la extensión del nombre de archivo a jsonl o ndjson:

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

Resulta impresionante lo sencilla y potente que es la herramienta clickhouse-local. Puedes leer fácilmente datos desde una base de datos como MySQL y volcarlos en todo tipo de formatos de salida.

Navigation