Saltar al contenido principal

Convertir archivos de Parquet a CSV o JSON

Puede usar clickhouse-local para convertir archivos entre cualquiera de los formatos de entrada y salida compatibles con ClickHouse (¡más de 70 formatos distintos!). En este artículo, convertiremos un archivo Parquet en S3 a archivos CSV y JSON. Empecemos por el principio. ClickHouse tiene un conjunto de funciones de tabla que leen datos de archivos, bases de datos y otros recursos, y los convierten en una tabla. Para demostrarlo, supongamos que tenemos un archivo Parquet en S3. Usaremos la función de tabla s3 para leerlo (ClickHouse sabe que es un archivo Parquet por el nombre del archivo). Pero primero, descarguemos el binario clickhouse:

Acceder a los datos mediante una función de tabla

Verifiquemos que podemos leer el archivo usando DESCRIBE sobre la tabla resultante que crea la función de tabla s3:
Este archivo en particular contiene los precios de las viviendas vendidas en el Reino Unido. La respuesta tiene este aspecto:
Puedes ejecutar cualquier consulta que quieras sobre los datos. Por ejemplo, veamos qué localidades tienen el precio medio de la vivienda más alto:
La respuesta tiene este aspecto:

Convierte el archivo Parquet en un CSV

Puedes enviar el resultado de cualquier consulta SQL a un archivo. Tomemos todas las columnas de nuestro archivo Parquet en S3 y enviemos el resultado a un nuevo archivo CSV. Como el archivo de salida termina en .csv, ClickHouse sabe que debe usar el formato de salida CSV:
Verifiquemos que haya funcionado:

Convertir el archivo Parquet a JSON

Para convertir el archivo Parquet a JSON, basta con cambiar la extensión del nombre del archivo de salida:
Verifiquemos que haya funcionado:

Convertir CSV a Parquet

Funciona en ambos sentidos: podemos leer fácilmente el nuevo archivo CSV y escribirlo como un archivo Parquet. El archivo local house_prices.csv puede leerse en ClickHouse mediante la función de tabla file, y ClickHouse genera el archivo en formato Parquet según que el nombre del archivo termine en .parquet (o podríamos haber añadido la cláusula FORMAT Parquet):
Como mencionamos antes, puedes usar cualquiera de los formatos de entrada y salida de ClickHouse junto con clickhouse local para convertir fácilmente archivos a distintos formatos.
Última modificación el 10 de junio de 2026