En aquest tema, explorarem com BigQuery es pot integrar amb altres serveis de Google Cloud per crear solucions més robustes i eficients. La integració amb altres serveis permet aprofitar les capacitats de Google Cloud per a l'emmagatzematge, el processament i l'anàlisi de dades, així com per a la creació de fluxos de treball automatitzats.
Objectius d'aprenentatge
Al final d'aquest tema, hauràs après:
- Com integrar BigQuery amb Google Cloud Storage.
- Com utilitzar BigQuery amb Google Cloud Pub/Sub.
- Com connectar BigQuery amb Google Data Studio.
- Com utilitzar BigQuery amb Google Cloud Functions.
- Integració amb Google Cloud Storage
Google Cloud Storage (GCS) és un servei d'emmagatzematge d'objectes que permet emmagatzemar i recuperar qualsevol quantitat de dades en qualsevol moment. Integrar BigQuery amb GCS és útil per carregar grans volums de dades a BigQuery o per exportar resultats de consultes.
Carregar dades des de GCS a BigQuery
Exemple de codi
-- Carregar dades des d'un fitxer CSV emmagatzemat a GCS a una taula de BigQuery LOAD DATA INTO `project_id.dataset_id.table_id` FROM FILES ( format = 'CSV', uris = ['gs://bucket_name/file_name.csv'] );
Passos detallats
- Crear un bucket a GCS: Primer, crea un bucket a Google Cloud Storage on emmagatzemaràs els teus fitxers.
- Carregar el fitxer al bucket: Pugeu el fitxer CSV al bucket creat.
- Executar la consulta de càrrega: Utilitza la consulta SQL anterior per carregar les dades del fitxer CSV a una taula de BigQuery.
Exportar dades de BigQuery a GCS
Exemple de codi
-- Exportar dades d'una taula de BigQuery a un fitxer CSV emmagatzemat a GCS EXPORT DATA OPTIONS( uri='gs://bucket_name/file_name.csv', format='CSV', overwrite=true ) AS SELECT * FROM `project_id.dataset_id.table_id`;
Passos detallats
- Executar la consulta d'exportació: Utilitza la consulta SQL anterior per exportar les dades de la taula de BigQuery a un fitxer CSV emmagatzemat a GCS.
- Integració amb Google Cloud Pub/Sub
Google Cloud Pub/Sub és un servei de missatgeria asíncrona que permet enviar i rebre missatges entre aplicacions. Integrar BigQuery amb Pub/Sub és útil per processar fluxos de dades en temps real.
Exemple de codi
from google.cloud import pubsub_v1 # Crear un client de Pub/Sub publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path('project_id', 'topic_name') # Publicar un missatge a Pub/Sub data = 'Hello, BigQuery!' data = data.encode('utf-8') future = publisher.publish(topic_path, data) print(f'Published message ID: {future.result()}')
Passos detallats
- Crear un tema a Pub/Sub: Primer, crea un tema a Google Cloud Pub/Sub.
- Publicar missatges al tema: Utilitza el codi Python anterior per publicar missatges al tema creat.
- Processar missatges amb BigQuery: Configura un subscripció per processar els missatges publicats i carregar-los a BigQuery.
- Integració amb Google Data Studio
Google Data Studio és una eina de visualització de dades que permet crear informes i quadres de comandament interactius. Integrar BigQuery amb Data Studio és útil per visualitzar i analitzar les dades emmagatzemades a BigQuery.
Passos detallats
- Connectar BigQuery a Data Studio:
- Obre Google Data Studio.
- Crea una nova font de dades.
- Selecciona BigQuery com a connector.
- Autoritza l'accés a BigQuery i selecciona el projecte, conjunt de dades i taula que vols visualitzar.
- Crear informes i quadres de comandament:
- Utilitza les eines de Data Studio per crear gràfics, taules i altres visualitzacions basades en les dades de BigQuery.
- Integració amb Google Cloud Functions
Google Cloud Functions és un servei de computació sense servidor que permet executar codi en resposta a esdeveniments. Integrar BigQuery amb Cloud Functions és útil per automatitzar tasques com la càrrega de dades o l'execució de consultes.
Exemple de codi
import google.cloud.bigquery as bigquery def load_data_to_bigquery(event, context): client = bigquery.Client() table_id = 'project_id.dataset_id.table_id' job_config = bigquery.LoadJobConfig( source_format=bigquery.SourceFormat.CSV, skip_leading_rows=1, autodetect=True, ) uri = 'gs://bucket_name/file_name.csv' load_job = client.load_table_from_uri( uri, table_id, job_config=job_config ) load_job.result() print(f'Loaded {load_job.output_rows} rows into {table_id}.')
Passos detallats
- Crear una funció a Cloud Functions: Primer, crea una funció a Google Cloud Functions.
- Escriure el codi de la funció: Utilitza el codi Python anterior per definir la funció que carregarà dades a BigQuery.
- Desplegar la funció: Desplega la funció a Google Cloud Functions i configura-la per executar-se en resposta a esdeveniments com la càrrega de fitxers a GCS.
Resum
En aquest tema, hem après com integrar BigQuery amb diversos serveis de Google Cloud, incloent Google Cloud Storage, Google Cloud Pub/Sub, Google Data Studio i Google Cloud Functions. Aquestes integracions permeten crear solucions més eficients i automatitzades per al processament i l'anàlisi de dades. En el proper tema, explorarem com utilitzar BigQuery amb Dataflow per processar grans volums de dades en temps real.
Curs de BigQuery
Mòdul 1: Introducció a BigQuery
- Què és BigQuery?
- Configurar el teu entorn de BigQuery
- Comprendre l'arquitectura de BigQuery
- Visió general de la consola de BigQuery
Mòdul 2: SQL bàsic a BigQuery
Mòdul 3: SQL intermedi a BigQuery
Mòdul 4: SQL avançat a BigQuery
- Unions avançades
- Camps niats i repetits
- Funcions definides per l'usuari (UDFs)
- Particionament i agrupament
Mòdul 5: Gestió de dades a BigQuery
- Carregar dades a BigQuery
- Exportar dades de BigQuery
- Transformació i neteja de dades
- Gestió de conjunts de dades i taules
Mòdul 6: Optimització del rendiment de BigQuery
- Tècniques d'optimització de consultes
- Comprendre els plans d'execució de consultes
- Ús de vistes materialitzades
- Optimització de l'emmagatzematge
Mòdul 7: Seguretat i compliment de BigQuery
Mòdul 8: Integració i automatització de BigQuery
- Integració amb serveis de Google Cloud
- Ús de BigQuery amb Dataflow
- Automatització de fluxos de treball amb Cloud Functions
- Programació de consultes amb Cloud Scheduler
Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)
- Introducció a BigQuery ML
- Creació i entrenament de models
- Avaluació i predicció amb models
- Funcions avançades de BQML