Descripción general de los análisis de BigQuery
En este documento, se describe cómo BigQuery procesa las consultas y se proporciona una descripción general de varias funciones que son útiles para el análisis de datos.
BigQuery está optimizado para ejecutar consultas analíticas en conjuntos de datos grandes, incluidos terabytes de datos en segundos y petabytes en minutos. Comprender sus capacidades y cómo se procesan las consultas puede ayudarte a maximizar tus inversiones de análisis de datos.
Para realizar un recorrido por las funciones de análisis de datos de BigQuery directamente en la consola de Google Cloud, haz clic en Realizar el recorrido.
Flujos de trabajo analíticos
BigQuery es compatible con varios flujos de trabajo de análisis de datos:
Análisis ad hoc. BigQuery usa GoogleSQL, el dialecto de SQL en BigQuery, para admitir el análisis ad hoc. Puedes ejecutar consultas en la consola de Google Cloud o mediante herramientas de terceros que se integren en BigQuery.
Análisis geoespacial. BigQuery usa tipos de datos geográficos y funciones geográficas de GoogleSQL para que puedas analizar y visualizar datos geoespaciales. Para obtener información sobre estos tipos de datos y funciones, consulta Introducción a las estadísticas geoespaciales.
El aprendizaje automático se basa. BigQuery ML usa consultas de GoogleSQL para que puedas crear y ejecutar modelos de aprendizaje automático (AA) en BigQuery.
Inteligencia empresarial. BigQuery BI Engine es un servicio de análisis rápido en la memoria que te permite compilar informes y paneles interactivos y completos sin comprometer el rendimiento, la escalabilidad, la seguridad o la actualidad de los datos.
Consultas
La unidad principal de análisis con BigQuery es la consulta de SQL. BigQuery tiene dos dialectos de SQL: GoogleSQL y SQL heredado. GoogleSQL es el dialecto preferido. Admite SQL:2011 y, además, incluye extensiones que admiten el análisis geoespacial o el AA.
En las siguientes secciones, se describe cómo BigQuery admite y ejecuta consultas de datos.
Fuentes de datos
BigQuery te permite consultar los siguientes tipos de fuentes de datos:
Datos almacenados en BigQuery. Puedes cargar datos en BigQuery para su análisis. También puedes generar datos mediante declaraciones de lenguaje de manipulación de datos (DML) o escribiendo resultados de consultas en una tabla. Puedes consultar datos almacenados en ubicaciones de una sola región o multirregión, pero no puedes ejecutar una consulta en varias ubicaciones, incluso si una es una ubicación de una sola región y la otra es la multirregión ubicación que contiene esa ubicación de una sola región. Para obtener más información, consulta Ubicaciones, reservas y trabajos.
Datos externos. Puedes consultar varias fuentes de datos externas, como otros servicios de almacenamiento de Google Cloud (como Cloud Storage) o servicios de bases de datos (como Spanner o Cloud SQL). Para obtener información sobre cómo configurar conexiones a fuentes externas, consulta Introducción a las fuentes de datos externas.
Datos de múltiples nubes. Puedes consultar datos almacenados en otras nubes públicas, como AWS o Azure. Para obtener información sobre cómo configurar las conexiones al almacenamiento de BLOB de Amazon S3 o Azure, lee una introducción a BigQuery Omni.
Conjuntos de datos públicos. Si no tienes tus propios datos, puedes analizar cualquiera de los conjuntos de datos que están disponibles en el mercado de conjuntos de datos públicos.
Trabajos de consulta
Los trabajos son acciones que BigQuery ejecuta por ti para cargar datos, exportarlos, consultarlos o copiarlos.
Cuando usas la consola de Google Cloud o la herramienta de bq para realizar uno de estos trabajos, automáticamente se crea, se programa y se ejecuta un recurso de trabajo. También puedes crear un trabajo de carga, exportación, consulta o copia de manera programática. Cuando creas un trabajo de manera programática, BigQuery programa y ejecuta el trabajo por ti.
Dado que los trabajos pueden llevar mucho tiempo en completarse, estos se ejecutan de forma asíncrona y se pueden sondear para determinar su estado. Las acciones más cortas, como obtener metadatos o enumerar recursos, no se administran mediante un recurso de trabajo.
Tipos de consultas
Puedes consultar datos de BigQuery a través de uno de los siguientes tipos de trabajos de consulta:
- Trabajos de consultas interactivas. De manera predeterminada, BigQuery ejecuta trabajos de consultas interactivas (a pedido) lo antes posible.
Trabajos de consulta continua (Vista previa). Con estos trabajos, la consulta se ejecuta de forma continua, lo que te permite analizar datos entrantes en BigQuery en tiempo real y, luego, escribir los resultados en una tabla de BigQuery o exportar los resultados a Bigtable o Pub/Sub. Puedes usar esta capacidad para realizar tareas sensibles urgentes, como crear y tomar medidas inmediatas sobre las estadísticas, aplicar inferencias de aprendizaje automático (AA) en tiempo real y compilar canalizaciones de datos controladas por eventos.
Trabajos de consultas Batch. Con estos trabajos, BigQuery pone en cola cada consulta por lotes en tu nombre y, luego, inicia la consulta cuando los recursos inactivos están disponibles, por lo general, en el plazo de unos minutos.
Puedes ejecutar trabajos de consulta con los siguientes métodos:
- Redacta y ejecuta una consulta en la consola de Google Cloud.
- Ejecuta el comando
bq query
en la herramienta de línea de comandos de bq. - Llama de manera programática al método
jobs.query
ojobs.insert
en la API de REST de BigQuery. - Usa las bibliotecas cliente de BigQuery.
Consultas guardadas y compartidas
BigQuery te permite guardar y compartir consultas con otros.
Cuando guardas una consulta, puede ser privada (solo visible para ti), compartida a nivel de proyecto (visible para principales específicas) o pública (visible para todo el mundo). Para obtener más información, consulta Trabaja con consultas guardadas.
Cómo procesa BigQuery las consultas
Se producen varios procesos cuando BigQuery ejecuta una consulta:
Árbol de ejecución. Cuando ejecutas una consulta, BigQuery genera un árbol de ejecución que divide la consulta en etapas. Estas etapas contienen pasos que pueden ejecutarse en paralelo.
Nivel aleatorio. Las etapas se comunican entre sí mediante un nivel aleatorio distribuido y rápido que almacena los datos intermedios producidos por los trabajadores de una etapa. Cuando sea posible, el nivel aleatorio aprovecha tecnologías como una red de petabits y RAM para mover los datos a los nodos trabajadores con rapidez.
Plan de consultas. Cuando BigQuery tiene toda la información que necesita para ejecutar una consulta, genera un plan de consultas. Puedes ver este plan en la consola de Google Cloud y usarlo para solucionar problemas o optimizar el rendimiento de las consultas.
Supervisión y planificación dinámica de consultas. Además de los trabajadores que realizan el trabajo del plan de consultas, los trabajadores adicionales supervisan y dirigen el progreso general del trabajo en todo el sistema. A medida que la consulta avanza, BigQuery puede ajustar dinámicamente el plan de consulta para adaptarse a los resultados de las distintas etapas.
Resultados de la consulta. Cuando se completa una consulta, BigQuery escribe los resultados en el almacenamiento persistente y los muestra al usuario. Este diseño permite que BigQuery entregue resultados almacenados en caché la próxima vez que se ejecute esa consulta.
Simultaneidad y rendimiento de las consultas
El rendimiento de las consultas que se ejecutan de manera repetida en los mismos datos puede variar debido a la naturaleza compartida del entorno de BigQuery, o porque BigQuery ajusta de forma dinámica el plan de consulta mientras se ejecuta la consulta. En el caso de un sistema ocupado típico en el que muchas consultas se ejecutan en simultáneo, BigQuery usa varios procesos para reducir las variaciones en el rendimiento de la consulta:
BigQuery ejecuta muchas consultas en paralelo, por lo que rara vez es necesario ponerlas en cola.
En los sistemas ocupados, las colas son una fuente importante de rendimiento menos predecible porque no está claro cuánto tiempo puede permanecer una consulta en la cola. El tiempo en que una consulta está en la cola puede depender más de otras consultas que se ejecutan o están en la cola que sobre las cualidades de la consulta en sí.
A medida que las consultas comienzan y finalizan, BigQuery redistribuye los recursos de manera equitativa entre las consultas nuevas y las que se ejecutan. Este proceso garantiza que el rendimiento de las consultas no dependa del orden en el que se envíen las consultas, sino de la cantidad de consultas que se ejecutan en un momento determinado.
Optimización de consultas
Una vez que se completó la consulta, puedes ver el plan de consulta en la consola de Google Cloud. También puedes solicitar detalles de ejecución con
las
vistas INFORMATION_SCHEMA.JOBS*
o el
método de la API de RESTjobs.get
.
El plan de consulta incluye detalles sobre las etapas y los pasos de una consulta. Estos detalles pueden ayudarte a identificar formas de mejorar el rendimiento de las consultas. Por ejemplo, si notas una etapa que escribe mucho más resultados que otras etapas, es posible que debas filtrar con anterioridad en la consulta.
Para obtener más información sobre el plan de consulta y la optimización de consultas, visita los siguientes recursos:
- Para obtener más información sobre el plan de consulta y ver ejemplos de cómo la información del plan puede ayudarte a mejorar el rendimiento de las consultas, visita Plan de consultas y cronograma.
- Para obtener más información sobre la optimización de consultas en general, consulta Introducción a la optimización del rendimiento de las consultas.
Supervisión de consultas
La supervisión y el registro son fundamentales para ejecutar aplicaciones confiables en la nube. Las cargas de trabajo de BigQuery no son la excepción, en especial si la tuya tiene volúmenes altos o es crítica. BigQuery proporciona varias métricas, registros y vistas de metadatos para ayudarte a supervisar el uso de BigQuery.
Para obtener más información, consulta los siguientes recursos:
- Para obtener más información sobre las opciones de supervisión en BigQuery, consulta Introducción a la supervisión de BigQuery.
- Para obtener información sobre los registros de auditoría y cómo analizar el comportamiento de las consultas, visita Registros de auditoría de BigQuery.
Precios de consulta
BigQuery ofrece dos modelos de precios para las estadísticas:
- Precios según demanda. Pagas por los datos que se analizan en las consultas. Tienes una capacidad de procesamiento de consultas fija para cada proyecto, y tu costo se calcula en función de la cantidad de bytes procesados.
- Precios basados en la capacidad. Adquieres una capacidad de procesamiento de consultas exclusiva.
Para obtener información sobre los dos modelos de precios y sobre cómo realizar reservas de precios basados en la capacidad, consulta Introducción a las reservas.
Cuotas y controles de precio de las consultas
BigQuery aplica cuotas a nivel de proyecto a las consultas en ejecución. Para obtener más información sobre las cuotas de consulta, visita Cuotas y límites.
Para controlar los costos de consulta, BigQuery ofrece varias opciones, incluidas las cuotas personalizadas y las alertas de facturación. Para obtener más información, consulta Cómo crear controles de costos personalizados.
Funciones de análisis de datos
BigQuery admite estadísticas descriptivas y predictivas. Para consultar tus datos directamente a fin de responder algunas preguntas estadísticas, puedes usar la consola de Google Cloud. Para explorar los datos de forma visual, como tendencias y anomalías, puedes usar herramientas como Tableau o Looker que se integran en BigQuery.
BigQuery Studio
BigQuery Studio te ayuda a descubrir, analizar y ejecutar inferencias sobre datos en BigQuery con las siguientes funciones:
- Un editor de SQL sólido que proporciona finalización de código, validación de consulta y estimación de bytes procesados.
- Notebooks de Python incorporados compilados con Colab Enterprise. Los notebooks proporcionan entornos de ejecución de desarrollo de Python con un solo clic y compatibilidad integrada para BigQuery DataFrames.
- Un editor de PySpark que te permite crear procedimientos de Python almacenados para Apache Spark.
- Historial de versiones y administración de recursos para elementos de código, como notebooks y consultas guardadas, compiladas sobre Dataform.
- Desarrollo de código asistivo en el editor de SQL y en notebooks, compilado sobre la IA generativa de Gemini (Vista previa).
- Funciones de Dataplex para la detección de datos, la generación de perfiles de datos y los análisis de calidad de los datos.
- La capacidad de ver el historial de trabajos por usuario o por proyecto.
- La capacidad de analizar los resultados de consultas guardadas a través de la conexión a otras herramientas, como Looker y Hojas de cálculo de Google, y exportar los resultados de consultas guardadas para usarlos en otras aplicaciones
BigQuery ML
BigQuery ML te permite usar SQL en BigQuery para realizar aprendizaje automático (AA) y estadísticas predictivas. Para obtener más información, consulta Introducción a BigQuery ML.
Integración de herramientas de estadísticas
Además de ejecutar consultas en BigQuery, puedes analizar tus datos con varias herramientas de inteligencia empresarial y estadísticas que se integran en BigQuery, como las siguientes:
Looker. Looker es una plataforma empresarial para la inteligencia empresarial, las aplicaciones de datos y las estadísticas incorporadas. La plataforma Looker funciona con muchos almacenes de datos, incluido BigQuery. Para obtener información sobre cómo conectar Looker con BigQuery, consulta Usa Looker.
Looker Studio. Después de ejecutar una consulta, puedes iniciar Looker Studio directamente desde BigQuery en la consola de Google Cloud. Luego, en Looker Studio, puedes crear visualizaciones y explorar los datos que se muestran desde la consulta. Para obtener información sobre Looker Studio, consulta Descripción general de Looker Studio.
Hojas conectadas. También puedes iniciar hojas conectadas directamente desde BigQuery en la consola. Las hojas conectadas ejecutan consultas de BigQuery en tu nombre en función de la solicitud o de un programa definido. Los resultados de esas consultas se guardan en la hoja de cálculo para analizar los datos y compartirlos. Para obtener información sobre las hojas conectadas, consulta Usa hojas conectadas.
Integración de herramientas de terceros
Varias herramientas de estadísticas de terceros funcionan con BigQuery. Por ejemplo, puedes conectar Tableau a datos de BigQuery y usar sus herramientas de visualización para analizar y compartir tu análisis. Para obtener más información sobre las consideraciones cuando se usan herramientas de terceros, consulta Integración de herramientas de terceros.
Los controladores ODBC y JDBC están disponibles y se pueden usar para integrar tu aplicación en BigQuery. El propósito de estos controladores es ayudar a los usuarios a aprovechar la potencia de BigQuery con la infraestructura y las herramientas existentes. Para obtener información sobre la actualización más reciente y los problemas conocidos, consulta Controladores de ODBC y JDBC para BigQuery.
Las bibliotecas de Pandas, como pandas-gbq
, te permiten interactuar con datos de BigQuery en notebooks de Jupyter. Para obtener más información sobre esta biblioteca y cómo se compara con el uso de la biblioteca cliente de Python de BigQuery, consulta Comparación con pandas-gbqpandas-gbq
.
También puedes usar BigQuery con otros notebooks y herramientas de análisis. Para obtener más información, consulta Herramientas de análisis programático.
Para obtener una lista completa de las estadísticas de BigQuery y los socios de tecnología más amplios, consulta la lista Socios en la página de productos de BigQuery.
¿Qué sigue?
- Para obtener una introducción y una descripción general de las instrucciones de SQL compatibles, consulta Introducción a SQL en BigQuery.
- Si deseas obtener información sobre la sintaxis de GoogleSQL que se usa para consultar datos en BigQuery, visita Sintaxis de consulta en GoogleSQL.
- Para obtener información sobre cómo leer el plan de explicación de consultas, visita Plan de consulta y cronograma.
- Si deseas obtener información sobre cómo programar una consulta recurrente, visita Programa consultas.