Impulsa BigQuery con Python: UDFs de Python gestionadas ahora disponibles en general.
Compartir
Estás leyendo un resumen. El contenido completo está en cloudblog.withgoogle.com.
SQL es el estándar de la industria para el análisis de datos estructurados de alto rendimiento. Sin embargo, expresar lógica procedural compleja, cálculos científicos, manipulaciones avanzadas de cadenas o flujos de trabajo de aprendizaje automático en SQL puro puede ser altamente desafiante, si no imposible. Ese tipo de trabajo se realiza mejor con Python. Los profesionales de datos a menudo asumen tareas adicionales de gestión de infraestructura: mantener imágenes y contenedores personalizados, y trabajar con servicios de computación adicionales, solo para ejecutar funciones auxiliares simples con código y bibliotecas personalizadas en Python. Hoy, estamos emocionados de anunciar la disponibilidad general (GA) de las Funciones Definidas por el Usuario (UDF) de Python Gestionadas en BigQuery. Este lanzamiento representa un hito importante en la estrategia de extensibilidad de BigQuery, permitiendo a científicos de datos, ingenieros y analistas ejecutar código Python personalizado directamente y de manera segura dentro de BigQuery utilizando consultas SQL estándar o BigFrames en Python. Con este lanzamiento, las UDF de Python están completamente soportadas para cargas de trabajo empresariales de producción e integradas en los SKU de facturación de BigQuery. Puente entre SQL y el rico ecosistema de Python Las UDF de Python gestionadas en BigQuery se ejecutan en recursos sin servidor gestionados por BigQuery que se escalan automáticamente a miles de millones de filas, sin necesidad de configurar infraestructura o gestionar contenedores. BigQuery maneja automáticamente la compilación, construcción de imágenes, parches de seguridad, implementación y ejecución de tu código Python, facilitando el uso de funciones de Python en tu SQL. Beneficios clave Flexibilidad: Acceso al vasto ecosistema de Python, incluyendo bibliotecas científicas y matemáticas de primer nivel como NumPy, SciPy, pandas, scikit-learn y más, directamente en tus sentencias SELECT de SQL. Integración de API externa ajustada: Limpia y enriquece tus tablas de BigQuery en tiempo real al llamar a APIs externas o servicios de Google Cloud como Cloud Translation, Gemini Enterprise Agent Platform o microservicios personalizados de forma segura dentro de tus consultas. Completamente gestionado y sin servidor: BigQuery maneja la infraestructura subyacente de contenedores y escala automáticamente el rendimiento de manera dinámica. Ejemplo de código Aquí hay un ejemplo de una UDF de Python que utiliza un paquete de Python popular — beautifulsoup — para eliminar etiquetas HTML. Usamos esta función para procesar los cuerpos de respuestas de StackOverflow que se almacenan en una tabla pública de BigQuery: código de bloque ¿Cómo consultarlo?: código de bloque Capacidades avanzadas Para usuarios avanzados, las UDF de Python añaden un conjunto de capacidades para ajustar el rendimiento, así como monitorear el uso. Aquí hay algunos ejemplos. Procesamiento vectorizado con Pandas PyArrow Para maximizar el rendimiento, el lanzamiento GA soporta el procesamiento directo de entradas vectorizadas como PyArrow RecordBatches. Al procesar columnas de datos en bloque en lugar de fila por fila, PyArrow elimina la sobrecarga de serialización y conversión de Python, mejorando el rendimiento hasta en 10 veces para cálculos intensivos en datos. Recursos de contenedor configurables Para la preparación de datos de ciencia de datos y ML de alta carga, ahora puedes provisionar la memoria del contenedor (hasta 16 GB) y CPU (hasta 4 vCPUs) por función. Esto permite que cargas de trabajo intensivas en memoria (como cargar modelos grandes serializados o conjuntos de datos geoespaciales) se ejecuten directamente dentro del entorno aislado. Concurrencia personalizable Optimiza tu rendimiento y eficiencia de recursos configurando solicitudes concurrentes por contenedor (hasta 1,000 operaciones concurrentes). Esto ayuda a asegurar que tu ejecución a gran escala sea altamente rentable y funcione excepcionalmente bien bajo cargas paralelas pesadas. Registros en streaming y métricas en tiempo real Depura y monitorea fácilmente tus cargas de trabajo de producción. La consola de BigQuery ahora cuenta con un enlace directo desde tus resultados de consulta a métricas en tiempo real de CPU, memoria y concurrencia en Cloud Monitoring. Facturación Las UDF de Python gestionadas en BigQuery se facturan con el SKU de servicios de BigQuery. Este SKU es totalmente elegible para descuentos por uso basados en compromisos de gasto de BigQuery (CUDs), permitiéndote maximizar la eficiencia del presupuesto. También puedes obtener visibilidad de costos a través de INFORMATION_SCHEMA.JOBS, así como usando etiquetas de facturación MANAGED_ROUTINE_EXECUTION y MANAGED_ROUTINE_BUILD. Consulta más detalles en la sección de Precios de la documentación. Empezando Para comenzar con las UDF de Python en BigQuery, primero revisa la documentación del producto. Luego, prueba las funciones publicadas en el conjunto de datos público de BigQuery. Por ejemplo, ejecuta el siguiente código en un proyecto de BigQuery para tokenizar nombres de países a partir de datos públicos de BigQuery. En el fondo, la UDF de token utiliza la biblioteca tokenizer o200k_base. código de bloque O prueba este laboratorio de código para explorar algunos escenarios avanzados. Luego, para aprender a implementar otros patrones de diseño avanzados, te animamos a explorar nuestras guías de documentación pública oficial: Llamar a servicios de Google Cloud o servicios en línea (con conexiones): Para conectarte a servicios de Google Cloud de primera parte, como Gemini Enterprise Agent Platform o Cloud Translation, o puntos de API externos de forma segura utilizando conexiones de recursos de Cloud, consulta la guía de Llamar a Google Cloud o servicios en línea en código Python. BigQuery DataFrames (BigFrames) UDF de Python: Para aprender a escribir, desplegar y escalar funciones personalizadas de Python de forma nativa desde entornos estándar de Jupyter notebook o Colab utilizando BigQuery DataFrames, visita la guía de Personalizar funciones de Python para BigQuery DataFrames. ¡Saca tus flujos de trabajo de Python de la aislación y llévalos directamente al corazón de tu almacén de datos hoy!
Enlace externo a cloudblog.withgoogle.com

