Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Comment exporter des données MySQL au format Parquet, CSV ou JSON avec ClickHouse

Exportation de données MySQL vers Parquet, CSV ou JSON avec ClickHouse

L'outil clickhouse-local permet de lire rapidement et facilement des données depuis MySQL et de les exporter dans de nombreux formats, notamment Parquet, CSV et JSON. Nous allons :

  • Utiliser la fonction de table mysql pour lire les données
  • Utiliser la clause INTO OUTFILE _filename_ FORMAT et spécifier le format de sortie souhaité

L'outil clickhouse-local fait partie du binaire ClickHouse. Téléchargez-le comme suit :

curl https://clickhouse.com/ | sh

Exporter MySQL au format Parquet

La fonction de table mysql crée une table à partir des résultats d’une query envoyée à une instance MySQL. Par exemple :

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

Nous pouvons rediriger la sortie de cette requête vers un fichier à l’aide de INTO OUTFILE. Utilisez FORMAT pour spécifier le format du fichier à créer. Récupérons l’intégralité du contenu d’une table MySQL et écrivons-le dans un fichier Parquet :

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

Exporter MySQL au format CSV

C'est la même chose que pour Parquet, sauf que cette fois, nous utilisons l'extension .csv dans le nom du fichier. ClickHouse comprendra que nous voulons une sortie au format CSV, et c'est ainsi que les données seront écrites dans le fichier :

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

Exporter MySQL au format JSON

Pour exporter de MySQL vers JSON, il suffit de remplacer l’extension du nom de fichier par 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'"

Il est impressionnant de constater à quel point l’outil clickhouse-local est à la fois simple et puissant. Vous pouvez facilement lire des données depuis une base de données comme MySQL et les exporter dans une grande variété de formats de sortie.

Navigation