Inicio rápido
Los ejemplos de esta guía ejecutan
query() con el formato de salida CSV predeterminado. Los comentarios en línea muestran los valores lógicos del resultado; la salida sin procesar representa NULL como \N y aplica comillas de CSV a los valores de cadena y fecha (por ejemplo, "Hello, world!").Métodos de registro
Decorador @func
__name__ de la función se convierte en el nombre de la función SQL.
create_function
drop_function
Registrar un nombre que ya está registrado genera un error; las UDF no se reemplazan de forma silenciosa. Primero, llame a
drop_function(name) para volver a registrar una función, por ejemplo, al volver a ejecutar una celda de un notebook.Sistema de tipos
Tipos disponibles
chdb.sqltypes:
Especificar tipos
Inferencia automática de tipos
arg_types o return_type, chDB infiere los tipos a partir de las anotaciones de tipo de Python:
Si se proporciona
arg_types explícitamente, debe incluir todos los parámetros; no se admite combinar parcialmente tipos explícitos e inferidos. Esto se aplica tanto a create_function como al decorador @func: especifique los tipos de todos los parámetros u omítalos por completo y deje que chDB los infiera a partir de las anotaciones.return_type y la función no tiene una anotación de retorno, se produce un error al registrarla. En cambio, los tipos de los argumentos son opcionales: un parámetro sin tipo explícito ni anotación acepta dinámicamente cualquier tipo de entrada compatible.
Manejo de NULL
on_null controla el comportamiento cuando alguno de los argumentos de entrada es NULL.
También puedes usar el enum:
chdb.NullHandling.SKIP / chdb.NullHandling.PASS.
Ejemplo: predeterminado (omitir)
Ejemplo: pasar NULL como None
Ejemplo: varios argumentos
Manejo de excepciones
on_error controla el comportamiento cuando la función de Python genera una excepción.
También puede usar el enum:
chdb.ExceptionHandling.PROPAGATE / chdb.ExceptionHandling.IGNORE.
Ejemplo: predeterminado (propagar)
Ejemplo: ignorar errores
Combinación de NULL y manejo de excepciones
on_null y on_error se pueden combinar:
Compatibilidad con DateTime y zonas horarias
Tipos de Date
DateTime con zonas horarias
DateTime64 (alta precisión)
DATETIME64 tiene una escala predeterminada de 6 (microsegundos):
- Los valores de entrada
DateTime/DateTime64incluyen información sobre la zona horaria de ClickHouse - Los objetos
datetimede salida conservan la información sobre la zona horaria - La conversión de zona horaria se gestiona automáticamente