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.

  1. 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

  1. Crear un bucket a GCS: Primer, crea un bucket a Google Cloud Storage on emmagatzemaràs els teus fitxers.
  2. Carregar el fitxer al bucket: Pugeu el fitxer CSV al bucket creat.
  3. 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

  1. 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.

  1. 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

  1. Crear un tema a Pub/Sub: Primer, crea un tema a Google Cloud Pub/Sub.
  2. Publicar missatges al tema: Utilitza el codi Python anterior per publicar missatges al tema creat.
  3. Processar missatges amb BigQuery: Configura un subscripció per processar els missatges publicats i carregar-los a BigQuery.

  1. 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

  1. 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.
  2. 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.

  1. 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

  1. Crear una funció a Cloud Functions: Primer, crea una funció a Google Cloud Functions.
  2. Escriure el codi de la funció: Utilitza el codi Python anterior per definir la funció que carregarà dades a BigQuery.
  3. 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

Mòdul 2: SQL bàsic a BigQuery

Mòdul 3: SQL intermedi a BigQuery

Mòdul 4: SQL avançat a BigQuery

Mòdul 5: Gestió de dades a BigQuery

Mòdul 6: Optimització del rendiment de BigQuery

Mòdul 7: Seguretat i compliment de BigQuery

Mòdul 8: Integració i automatització de BigQuery

Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)

Mòdul 10: Casos d'ús de BigQuery en el món real

© Copyright 2024. Tots els drets reservats