Herramientas y funciones para desarrolladores

En este documento, se proporciona una descripción general de algunas de las funciones y herramientas que te ayudan a desarrollar soluciones con BigQuery.

Diagrama de la arquitectura de BigQuery.

Funciones del desarrollador

En esta sección, se describen algunas funciones integradas comunes para los desarrolladores que usan BigQuery.

Carga y transforma datos

BigQuery ofrece formas de cargar por lotes, transmitir y generar datos nuevos. A fin de elegir la mejor opción para tu caso de uso, consulta Introducción a la carga de datos.

Consultas

BigQuery está optimizado para ejecutar consultas analíticas que se escriben en GoogleSQL en conjuntos de datos grandes. Puedes programar, guardar y compartir consultas que se ejecutan en datos almacenados en BigQuery, datos externos, datos almacenados en otras nubes o conjuntos de datos públicos.

Funciones remotas

Puedes usar las funciones remotas para implementar tus funciones en funciones de Cloud Run o Cloud Run y, luego, invocarlas directamente desde tus consultas de Google SQL. Este enfoque es especialmente útil si necesitas implementar las funciones en lenguajes que no sean SQL o JavaScript. Puedes usar funciones remotas para muchos fines, como traducir texto en una tabla de un lenguaje a otro, iniciar acciones, como notificarte cuando los valores en una tabla se encuentran por debajo de un umbral, o ejecutar transformaciones por lotes, como la aplicación de un modelo de aprendizaje automático (AA).

Aprendizaje automático

Puedes usar BigQuery ML para crear y ejecutar modelos de AA mediante consultas de GoogleSQL.

Procedimientos almacenados de SQL

Puedes usar los procedimientos almacenados en SQL para llamar a colecciones de declaraciones de otras consultas o procedimientos almacenados. Puedes llamar a los procedimientos almacenados integrados o escribir los tuyos, lo que te permite definir variables y, además, implementar un flujo de control.

Datos semiestructurados

Puedes usar datos JSON en GoogleSQL para transferir datos semiestructurados a BigQuery sin proporcionar un esquema por adelantado. Puedes usar el operador de acceso de campos para consultar los valores de los campos y los elementos del array directamente.

Viaje en el tiempo

Puedes usar viajes en el tiempo para acceder a los datos almacenados en BigQuery que se modificaron o borraron en cualquier momento en los últimos siete días. Esta función te permite restablecer tablas actualizadas, borradas o vencidas, incluso si no creaste una copia de seguridad de tus datos.

Instantáneas de tablas

Puedes usar instantáneas de tablas cuando necesites crear una copia de seguridad de tu tabla en un momento determinado más allá del período de viaje en el tiempo. BigQuery solo almacena bytes que son diferentes entre una instantánea y su tabla base, por lo que una instantánea de tabla suele usar menos almacenamiento que una copia completa de la tabla.

Clonaciones de tablas

Puedes usar clonaciones de tablas para realizar versiones de las tablas y probar los cambios de los esquemas de tablas. Una clonación de tabla es una copia liviana y editable de otra tabla. Solo se te cobra por el almacenamiento de datos en la clonación de tabla que difiere de la tabla base, por lo que inicialmente no hay costo de almacenamiento para una clonación de tabla.

Tablas externas

Puedes consultar tablas externas directamente desde BigQuery, como datos en una base de datos de Google Cloud diferente, archivos en Cloud Storage o en un producto de nube diferente. Esta función te permite realizar cargas de trabajo de ELT con una sola consulta o unir tablas de BigQuery con datos que cambian con frecuencia desde otra fuente.

Funciones definidas por el usuario

Puedes escribir funciones definidas por el usuario (UDF) en GoogleSQL o JavaScript que se puedan volver a usar en las consultas. Puedes autorizar una UDF como una rutina, lo que te permite compartir resultados de consultas con usuarios o grupos específicos sin darles a esos usuarios o grupos acceso a las tablas subyacentes.

API de BigQuery

BigQuery ofrece las API de REST y gRPC para interactuar de manera programática con sus diferentes tipos de servicios. Puedes autenticar la identidad de tu cliente para acceder a las API mediante cuentas de servicio o cuentas de usuario. Las siguientes API están disponibles:

Para obtener más información sobre lo que ofrece cada API, consulta Descripción general de las API y bibliotecas de BigQuery.

Biblioteca de DataFrames de BigQuery

BigQuery DataFrames es una API de Python que puedes usar para analizar datos y realizar tareas de aprendizaje automático en BigQuery. Puedes verificar el código fuente para la API en GitHub.

Comienza a usar BigQuery DataFrames con la Guía de inicio rápido de BigQuery DataFrames.

Bibliotecas cliente

Las bibliotecas cliente te permiten acceder a las API de BigQuery directamente con tu lenguaje de programación preferido, incluidos C#, Go, Java, Node.js, PHP, Python y Ruby. Si deseas ver estos recursos para la API de BigQuery, selecciona uno de los siguientes lenguajes:

C#

Go

Java

Node.js

PHP

Python

Ruby

Para obtener más información sobre cómo usar las bibliotecas cliente de BigQuery en tu entorno local, consulta Bibliotecas cliente de la API de BigQuery.

Muestras de código

Puedes explorar muestras de código de BigQuery que proporcionan fragmentos completos para realizar tareas comunes en BigQuery, como crear tablas, enumerar conexiones, ver compromisos de capacidad y reservas, y cargar datos. Para ver una muestra, selecciona una API, una tarea y el lenguaje que prefieras.

Herramientas y servicios programáticos

Los siguientes servicios están integrados en BigQuery y ofrecen capacidades adicionales para compilar soluciones:

  • Dataproc. Un servicio completamente administrado para ejecutar trabajos de Apache Hadoop y Apache Spark. Dataproc proporciona el conector de BigQuery, lo que permite que Hadoop y Spark procesen datos de BigQuery directamente.
  • Dataflow. Un servicio completamente administrado para ejecutar trabajos de Apache Beam a gran escala. El conector de E/S de BigQuery para Beam permite que las canalizaciones de Beam lean y escriban datos hacia y desde BigQuery.
  • Cloud Composer. Un servicio de organización de flujos de trabajo totalmente administrado y basado en Apache Airflow. Los operadores de BigQuery permiten que los flujos de trabajo de Airflow administren conjuntos de datos y tablas, ejecuten consultas y validen datos.
  • Pub/Sub. Un servicio de mensajería asíncrono y escalable. Pub/Sub proporciona suscripciones a BigQuery para escribir mensajes en una tabla de BigQuery existente a medida que se reciben.

La integración y la implementación continuas

Las siguientes opciones te ayudan a administrar y automatizar tu flujo de trabajo de desarrollador con BigQuery:

  • Módulo de Terraform de BigQuery. Un módulo para automatizar la creación de instancias y la implementación de tus conjuntos de datos y tablas de BigQuery.
  • Herramienta de línea de comandos de bq. Una herramienta de línea de comandos basada en Python para BigQuery.
  • Dataform. Un servicio para que los analistas de datos desarrollen, prueben, controlen versiones y programen flujos de trabajo de SQL complejos para transformar datos en BigQuery.
  • dbt. Un framework que te ayuda a organizar y a implementar flujos de trabajo, probar y catalogar tus datos, y reutilizar partes de código como macros.
  • Liquibase. Una solución de administración de cambios del esquema de la base de datos que te permite revisar y lanzar cambios de forma rápida y segura desde el desarrollo hasta la producción.

Controladores de ODBC y JDBC

Los controladores de conectividad abierta dee bases de datos (ODBC) y de conectividad de bases de datos de Java (JDBC) te permiten escribir aplicaciones de software con capacidad neutra de base de datos en los lenguajes de programación populares para conectar BigQuery a tu infraestructura existente. Para obtener más información y las últimas actualizaciones del controlador, consulta Controladores de ODBC y JDBC para BigQuery.

¿Qué sigue?

  • Si deseas obtener más información sobre los próximos eventos y recursos para los desarrolladores de Google Cloud, consulta Developer Center.
  • Para obtener más información sobre cómo otras empresas usan Google Cloud, consulta Nube de datos para ISV.
  • Para obtener más información sobre las soluciones de socios validadas que se integran en BigQuery, consulta Google Cloud Ready: BigQuery.