Menulis data dari Kafka ke BigQuery menggunakan Dataflow

Halaman ini menunjukkan cara menggunakan Dataflow untuk membaca data dari Google Cloud Managed Service for Apache Kafka dan menulis data ke tabel BigQuery. Tutorial ini menggunakan template Apache Kafka ke BigQuery untuk membuat tugas Dataflow.

Ringkasan

Apache Kafka adalah platform open source untuk streaming peristiwa. Kafka umumnya digunakan dalam arsitektur terdistribusi untuk memungkinkan komunikasi antar-komponen yang tidak terikat erat. Anda dapat menggunakan Dataflow untuk membaca peristiwa dari Kafka, memprosesnya, dan menulis hasilnya ke tabel BigQuery untuk analisis lebih lanjut.

Managed Service for Apache Kafka adalah layanan yang membantu Anda menjalankan cluster Kafka yang aman dan skalabel. Google Cloud

Membaca peristiwa Kafka ke BigQuery
Arsitektur berbasis peristiwa menggunakan Apache Kafka

Izin yang diperlukan

Akun layanan pekerja Dataflow harus memiliki peran Identity and Access Management (IAM) berikut:

  • Klien Kafka Terkelola (roles/managedkafka.client)
  • BigQuery Data Editor (roles/bigquery.dataEditor)

Untuk mengetahui informasi selengkapnya, lihat Keamanan dan izin Dataflow.

Membuat cluster Kafka

Pada langkah ini, Anda akan membuat cluster Managed Service for Apache Kafka. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster Managed Service for Apache Kafka.

Konsol

  1. Buka halaman Managed Service for Apache Kafka > Clusters.

    Buka Cluster

  2. Klik Create.

  3. Di kotak Nama cluster, masukkan nama untuk cluster.

  4. Dalam daftar Region, pilih lokasi untuk cluster.

  5. Klik Create.

gcloud

Gunakan perintah 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

Ganti kode berikut:

  • CLUSTER: nama untuk cluster
  • REGION: region tempat Anda membuat subnet
  • PROJECT_ID: project ID Anda
  • SUBNET_NAME: subnet tempat Anda ingin men-deploy cluster

Pembuatan cluster biasanya memerlukan waktu 20-30 menit.

Buat topik Kafka

Setelah cluster Managed Service for Apache Kafka dibuat, buat topik.

Konsol

  1. Buka halaman Managed Service for Apache Kafka > Clusters.

    Buka Cluster

  2. Klik nama cluster.

  3. Di halaman detail cluster, klik Create Topic.

  4. Di kotak Nama topik, masukkan nama untuk topik.

  5. Klik Create.

gcloud

Gunakan perintah managed-kafka topics create.

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

Ganti kode berikut:

  • TOPIC_NAME: nama topik yang akan dibuat

Membuat tabel BigQuery

Pada langkah ini, Anda akan membuat tabel BigQuery dengan skema berikut:

Nama kolom Jenis data
name STRING
customer_id INTEGER

Jika Anda belum memiliki set data BigQuery, buat set data terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Membuat set data. Kemudian, buat tabel kosong baru:

Konsol

  1. Buka halaman BigQuery.

    Buka BigQuery

  2. Di panel Explorer, luaskan project Anda, lalu pilih set data.

  3. Di bagian Dataset info, klik Create table.

  4. Dalam daftar Create table from, pilih Empty table.

  5. Di kotak Table, masukkan nama tabel.

  6. Di bagian Schema, klik Edit sebagai teks.

  7. Tempel definisi skema berikut:

    name:STRING,
    customer_id:INTEGER
    
  8. Klik Create table.

gcloud

Gunakan perintah bq mk.

bq mk --table