Scrivere i dati da Kafka a BigQuery utilizzando Dataflow

Questa pagina mostra come utilizzare Dataflow per leggere i dati da Google Cloud Managed Service per Apache Kafka e scrivere i record in una tabella BigQuery. Questo tutorial utilizza il modello Apache Kafka a BigQuery per creare il job Dataflow.

Panoramica

Apache Kafka è una piattaforma open source per lo streaming di eventi. Kafka viene comunemente utilizzato nelle architetture distribuite per consentire la comunicazione tra componenti a basso accoppiamento. Puoi utilizzare Dataflow per leggere gli eventi da Kafka, elaborarli e scrivere i risultati in una tabella BigQuery per ulteriori analisi.

Managed Service per Apache Kafka è un servizio che ti aiuta a eseguire cluster Kafka sicuri e scalabili. Google Cloud

Lettura degli eventi Kafka in BigQuery
Architettura basata sugli eventi utilizzando Apache Kafka

Autorizzazioni obbligatorie

Il service account worker Dataflow deve disporre dei seguenti ruoli Identity and Access Management (IAM):

  • Managed Kafka Client (roles/managedkafka.client)
  • Editor dati BigQuery (roles/bigquery.dataEditor)

Per saperne di più, consulta Sicurezza e autorizzazioni di Dataflow.

Crea un cluster Kafka

In questo passaggio, crei un cluster Managed Service per Apache Kafka. Per maggiori informazioni, consulta Crea un cluster Managed Service per Apache Kafka.

Console

  1. Vai alla pagina Managed Service per Apache Kafka > Cluster.

    Vai a Cluster

  2. Fai clic su Crea.

  3. Nella casella Nome del cluster, inserisci un nome per il cluster.

  4. Nell'elenco Regione, seleziona una località per il cluster.

  5. Fai clic su Crea.

gcloud

Utilizza il comando managed-kafka clusters create.

gcloud managed-kafka clusters create CLUSTER \
--location=REGION \
--cpu=3 \
--memory=3GiB \
--subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME

Sostituisci quanto segue:

  • CLUSTER: un nome per il cluster
  • REGION: la regione in cui hai creato la subnet
  • PROJECT_ID: il tuo ID progetto
  • SUBNET_NAME: la subnet in cui vuoi eseguire il deployment del cluster

La creazione di un cluster richiede in genere 20-30 minuti.

Crea un argomento Kafka

Dopo aver creato il cluster Managed Service per Apache Kafka, crea un argomento.

Console

  1. Vai alla pagina Managed Service per Apache Kafka > Cluster.

    Vai a Cluster

  2. Fai clic sul nome del cluster.

  3. Nella pagina dei dettagli del cluster, fai clic su Crea argomento.

  4. Nella casella Nome argomento, inserisci un nome per l'argomento.

  5. Fai clic su Crea.

gcloud

Utilizza il comando managed-kafka topics create.

gcloud managed-kafka topics create TOPIC_NAME \
--cluster=CLUSTER \
--location=REGION \
--partitions=10 \
--replication-factor=3

Sostituisci quanto segue:

  • TOPIC_NAME: il nome dell'argomento da creare

Crea una tabella BigQuery

In questo passaggio, crei una tabella BigQuery con lo schema seguente:

Nome colonna Tipo di dati
name STRING
customer_id INTEGER

Se non hai ancora un set di dati BigQuery, creane uno. Per saperne di più, vedi Creare set di dati. Poi crea una nuova tabella vuota:

Console

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.

  3. Nella sezione delle informazioni Set di dati, fai clic su Crea tabella.

  4. Nell'elenco