Preparación
ipython para ejecutar los comandos del resto de la guía, que puedes abrir ejecutando:
Consulta de un archivo JSON en S3
Configuración del formato de salida
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:
Creación de una tabla a partir de un archivo JSON
chDB ejecuta un único motor embebido por proceso, por lo que el directorio de la base de datos (su ruta) está sujeto a algunas reglas:
- Un proceso por ruta: un directorio de datos de chDB solo puede abrirlo un proceso del sistema operativo a la vez. Un segundo proceso que abra la misma ruta fallará hasta que se cierre el primero.
- Una ruta por proceso: mientras haya una sesión o conexión abierta, no se podrá abrir otra para una ruta diferente; primero cierre las que estén abiertas para evitar el error. Pueden coexistir varias sesiones o conexiones en la misma ruta.
- Concurrencia: las sesiones o conexiones en la misma ruta pueden ejecutar consultas simultáneamente.
- Las sesiones sin ruta se comparten: sin una ruta, las sesiones usan la base de datos
:memory:compartida por todo el proceso (por lo que las sesiones en blanco pueden ver las tablas de las demás), y su directorio temporal solo se elimina cuando se cierra la última.
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.
DESCRIBE para inspeccionar el esquema:
CREATE...AS.
Vamos a crear otra tabla con esa técnica: