En esta página se muestra cómo usar Dataflow para leer datos del servicio gestionado de Google Cloud para Apache Kafka y escribir los registros en una tabla de BigQuery. En este tutorial se usa la plantilla de Apache Kafka a BigQuery para crear la tarea de Dataflow.
Información general
Apache Kafka es una plataforma de código abierto para el streaming de eventos. Kafka se usa habitualmente en arquitecturas distribuidas para permitir la comunicación entre componentes con bajo acoplamiento. Puedes usar Dataflow para leer eventos de Kafka, procesarlos y escribir los resultados en una tabla de BigQuery para analizarlos más a fondo.
Managed Service para Apache Kafka es un servicio de Google Cloud Platform que te ayuda a ejecutar clústeres de Kafka seguros y escalables.
Permisos obligatorios
La cuenta de servicio de los trabajadores de Dataflow debe tener los siguientes roles de Gestión de Identidades y Accesos (IAM):
- Cliente de Kafka gestionado (
roles/managedkafka.client) - Editor de datos de BigQuery (
roles/bigquery.dataEditor)
Para obtener más información, consulta Seguridad y permisos de los flujos de datos.
Crear un clúster de Kafka
En este paso, crearás un clúster de Managed Service para Apache Kafka. Para obtener más información, consulta Crear un clúster de Managed Service para Apache Kafka.
Consola
Ve a la página Clústeres de Managed Service para Apache Kafka >.
Haz clic en Crear.
En el cuadro Nombre del clúster, introduce un nombre para el clúster.
En la lista Región, selecciona una ubicación para el clúster.
Haz clic en Crear.
gcloud
Usa el 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
Haz los cambios siguientes:
CLUSTER: nombre del clústerREGION: la región en la que has creado la subredPROJECT_ID: tu ID de proyectoSUBNET_NAME: la subred en la que quieres implementar el clúster
La creación de un clúster suele tardar entre 20 y 30 minutos.
Crear un tema de Kafka
Una vez creado el clúster de Managed Service para Apache Kafka, crea un tema.
Consola
Ve a la página Clústeres de Managed Service para Apache Kafka >.
Haz clic en el nombre del clúster.
En la página de detalles del clúster, haz clic en Crear tema.
En el cuadro Nombre del tema, escribe el nombre del tema.
Haz clic en Crear.
gcloud
Usa el comando
managed-kafka topics create.
gcloud managed-kafka topics create TOPIC_NAME \
--cluster=CLUSTER \
--location=REGION \
--partitions=10 \
--replication-factor=3
Haz los cambios siguientes:
TOPIC_NAME: el nombre del tema que se va a crear
Crear una tabla de BigQuery
En este paso, creará una tabla de BigQuery con el siguiente esquema:
| Nombre de la columna | Tipo de datos |
|---|---|
name |
STRING |
customer_id |
INTEGER |
Si aún no tienes un conjunto de datos de BigQuery, crea uno. Para obtener más información, consulta