Skip to main content
En esta guía, pondremos en marcha la variante de Python de chDB. Comenzaremos consultando un archivo JSON en S3, luego crearemos una tabla en chDB a partir de ese archivo JSON y haremos algunas consultas sobre los datos. También veremos cómo hacer que las consultas devuelvan datos en distintos formatos, incluidos Apache Arrow y Pandas, y, por último, aprenderemos a consultar DataFrames de Pandas.

Preparación

Primero, vamos a crear un entorno virtual:
Y ahora instalaremos chDB. Asegúrate de tener la versión 2.0.3 o posterior:
Ahora vamos a instalar ipython:
Vamos a usar ipython para ejecutar los comandos del resto de la guía, que puedes abrir ejecutando:
En esta guía también usaremos Pandas y Apache Arrow, así que instalemos esas bibliotecas también:

Consulta de un archivo JSON en S3

Veamos ahora cómo consultar un archivo JSON almacenado en un bucket de S3. El conjunto de datos de dislikes de YouTube contiene más de 4 mil millones de filas sobre dislikes en videos de YouTube hasta 2021. Vamos a trabajar con uno de los archivos JSON de ese conjunto de datos. Importa chdb:
Podemos ejecutar la siguiente consulta para describir la estructura de uno de los archivos JSON:
También podemos contar el número de filas de ese archivo:
Este archivo contiene poco más de 300.000 registros. chdb todavía no admite parámetros de consulta, pero podemos extraer la ruta y pasarla mediante una f-string.
Esto está bien si se hace con variables definidas en tu programa, pero no lo hagas con datos proporcionados por el usuario; de lo contrario, tu consulta queda expuesta a una inyección SQL.

Configuración del formato de salida

El formato de salida predeterminado es CSV, pero podemos cambiarlo mediante el parámetro output_format. chDB admite los formatos de datos de ClickHouse, así como algunos propios, incluido DataFrame, que devuelve un DataFrame de Pandas:
O bien, si queremos recuperar una tabla Arrow:

Creación de una tabla a partir de un archivo JSON

A continuación, veamos cómo crear una tabla en chDB. Para ello, necesitamos usar una API diferente, así que primero importémosla:
A continuación, inicializaremos una sesión. Si queremos que la sesión se guarde en disco, tenemos que indicar un nombre de directorio. Si lo dejamos en blanco, la base de datos estará en memoria y se perderá en cuanto finalicemos el proceso de Python.
A continuación, crearemos una base de datos:
Ahora podemos crear una tabla dislikes a partir del esquema del archivo JSON, usando la técnica CREATE...EMPTY AS. Usaremos la configuración schema_inference_make_columns_nullable para evitar que todos los tipos de columna se conviertan en Nullable.
A continuación, podemos usar la cláusula DESCRIBE para inspeccionar el esquema:
A continuación, vamos a poblar esa tabla:
También podríamos hacer ambos pasos de una sola vez con la técnica CREATE...AS. Vamos a crear otra tabla con esa técnica:

Consultar una tabla

Por último, consultemos la tabla:
Supongamos que luego añadimos una columna adicional al DataFrame para calcular la proporción entre «me gusta» y «no me gusta». Podríamos escribir el siguiente código:

Consultar un DataFrame de Pandas

A continuación, podemos consultar ese DataFrame con chDB:
También puede obtener más información sobre cómo consultar DataFrames de Pandas en la guía para desarrolladores sobre consultas en DataFrames de Pandas.

Próximos pasos

Esperamos que esta guía te haya ofrecido una buena visión general de chDB. Para obtener más información sobre cómo usarlo, consulta las siguientes guías para desarrolladores:
Última modificación el 23 de julio de 2026