Halaman ini menjelaskan cara menggunakan Dataflow SQL dan membuat tugas Dataflow SQL.
Untuk membuat tugas Dataflow SQL, Anda harus menulis dan menjalankan kueri Dataflow SQL.
Menggunakan editor SQL Dataflow
Editor Dataflow SQL adalah halaman di konsol Google Cloud tempat Anda menulis dan menjalankan kueri untuk membuat tugas Dataflow SQL.
Untuk mengakses editor SQL Dataflow, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Dataflow SQL Editor.
Anda juga dapat mengakses editor Dataflow SQL dari antarmuka pemantauan Dataflow dengan mengikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Jobs Dataflow.
Di menu Dataflow, klik SQL Workspace.
Menulis kueri Dataflow SQL
Kueri Dataflow SQL menggunakan sintaksis kueri Dataflow SQL. Sintaksis kueri Dataflow SQL mirip dengan SQL standar BigQuery.
Anda dapat menggunakan ekstensi streaming Dataflow SQL untuk menggabungkan data dari sumber Dataflow yang terus diperbarui seperti Pub/Sub.
Misalnya, kueri berikut menghitung penumpang dalam streaming perjalanan taksi Pub/Sub setiap menit:
SELECT DATETIME(tr.window_start) AS starttime, SUM(tr.passenger_count) AS pickup_count FROM TUMBLE ((SELECT * FROM pubsub.topic.`pubsub-public-data`.`taxirides-realtime`), DESCRIPTOR(event_timestamp), 'INTERVAL 1 MINUTE') AS tr WHERE tr.ride_status = "pickup" GROUP BY DATETIME(tr.window_start)
Menjalankan kueri Dataflow SQL
Saat Anda menjalankan kueri SQL Dataflow, Dataflow akan mengubah kueri menjadi pipeline Apache Beam dan menjalankan pipeline.
Anda dapat menjalankan kueri SQL Dataflow menggunakan Konsol Google Cloud atau Google Cloud CLI.
Konsol
Untuk menjalankan kueri Dataflow SQL, gunakan editor Dataflow SQL:
Buka halaman Editor SQL Dataflow.
Masukkan kueri Dataflow SQL ke editor kueri.
Klik Buat tugas untuk membuka panel opsi tugas.
Opsional: Untuk Nama tugas, masukkan nama tugas yang unik.
Untuk Regional endpoint, pilih nilai dari menu.
Opsional: Klik Tampilkan parameter opsional, lalu masukkan nilai untuk opsi pipeline Dataflow yang disediakan.
Untuk Destination, pilih Output type, lalu masukkan nilai untuk kolom yang disediakan.
Opsional: Di bagian Parameter kueri SQL, tambahkan parameter, lalu masukkan nilai di kolom yang disediakan.
Klik Buat.
gcloud
Untuk menjalankan kueri Dataflow SQL, gunakan perintah gcloud dataflow sql query
. Berikut adalah contoh kueri SQL yang membuat
gcloud dataflow sql query \ --job-name=JOB_NAME \ --region=REGION \ --bigquery-table=BIGQUERY_TABLE \ --bigquery-dataset=BIGQUERY_DATASET \ --bigquery-project=BIGQUERY_PROJECT \ 'SQL_QUERY'
Ganti kode berikut:
JOB_NAME
: nama untuk tugas SQL Dataflow AndaREGION
: Lokasi Dataflow untuk men-deploy tugas Dataflow AndaBIGQUERY_TABLE
: nama tabel BigQuery tempat Anda ingin menulis outputBIGQUERY_DATASET
: ID set data BigQuery yang berisi tabel outputBIGQUERY_PROJECT
: ID project Google Cloud yang berisi tabel BigQuery outputSQL_QUERY
: kueri Dataflow SQL Anda
Menetapkan opsi pipeline
Anda dapat menetapkan opsi pipeline Dataflow untuk tugas Dataflow SQL. Opsi pipeline Dataflow adalah parameter eksekusi yang mengonfigurasi cara dan tempat menjalankan kueri Dataflow SQL.
Untuk menetapkan opsi pipeline Dataflow untuk tugas Dataflow SQL, tentukan parameter berikut saat Anda menjalankan kueri Dataflow SQL.
Konsol
Parameter | Jenis | Deskripsi | Nilai default |
---|---|---|---|
Endpoint regional | String |
Region tempat menjalankan kueri. Kueri SQL Dataflow dapat dijalankan di region yang memiliki lokasi Dataflow. | Jika tidak ditetapkan, setelan defaultnya adalah us-central1. |
Pekerja maksimum | int |
Jumlah maksimum instance Compute Engine yang tersedia untuk pipeline Anda selama eksekusi. | Jika tidak ditentukan, layanan Dataflow akan otomatis menentukan jumlah pekerja yang sesuai. |
Region pekerja | String |
Region Compute Engine untuk meluncurkan instance pekerja yang akan menjalankan pipeline Anda. Region pekerja Compute Engine dapat berada di region yang berbeda dengan region tugas Dataflow. | Jika tidak ditetapkan, setelan defaultnya adalah region Dataflow yang ditentukan. |
Zona pekerja | String |
Zona Compute Engine untuk meluncurkan instance pekerja yang akan menjalankan pipeline Anda. Zona Compute Engine dapat berada di region yang berbeda dengan region tugas Dataflow. |
Jika tidak ditetapkan, defaultnya adalah zona di region pekerja. Jika region pekerja tidak ditetapkan, setelan defaultnya adalah zona di region Dataflow yang ditentukan. |
Email akun layanan | String |
Alamat email akun layanan pekerja
yang akan menjalankan pipeline. Alamat email harus dalam bentuk
my-service-account-name@<project-id>.iam.gserviceaccount.com .
|
Jika tidak ditetapkan, pekerja Dataflow akan menggunakan akun layanan Compute Engine dari project saat ini sebagai akun layanan pekerja. |
Jenis mesin | String |
Jenis mesin Compute Engine yang digunakan Dataflow saat memulai pekerja. Anda dapat menggunakan salah satu grup jenis mesin Compute Engine yang tersedia serta jenis mesin kustom. Untuk hasil terbaik, gunakan jenis mesin Perhatikan bahwa Dataflow menagih berdasarkan jumlah vCPU dan GB memori di pekerja. Penagihan tidak bergantung pada kelompok jenis mesin. |
Jika tidak ditetapkan, Dataflow akan otomatis memilih jenis mesin. |
Eksperimen tambahan | String |
Eksperimen yang akan diaktifkan. Eksperimen dapat berupa nilai, seperti
enable_streaming_engine , atau pasangan nilai kunci, seperti
shuffle_mode=service . Eksperimen harus dalam
daftar yang dipisahkan koma. |
Jika tidak ditentukan, tidak ada eksperimen yang diaktifkan. |
Konfigurasi Alamat IP Pekerja | String |
Menentukan apakah pekerja Dataflow menggunakan alamat IP publik. Jika nilai ditetapkan ke Jika nilai ditetapkan ke |
Jika tidak ditetapkan, setelan defaultnya adalah Public . |
Jaringan | String |
Jaringan Compute Engine tempat pekerja ditetapkan. | Jika tidak ditetapkan, setelan defaultnya adalah jaringan default . |
Subnetwork | String |
Sub-jaringan Compute Engine
tempat pekerja ditetapkan. Subnet harus dalam bentuk
regions/region/subnetworks/subnetwork . |
Jika tidak ditetapkan, Dataflow akan otomatis menentukan subnetwork. |
gcloud
Flag | Jenis | Deskripsi | Nilai default |
---|---|---|---|
‑‑region |
String |
Region tempat menjalankan kueri. Kueri SQL Dataflow dapat dijalankan di wilayah yang memiliki lokasi Dataflow. | Jika tidak ditetapkan, error akan ditampilkan. |
‑‑max‑workers |
int |
Jumlah maksimum instance Compute Engine yang tersedia untuk pipeline Anda selama eksekusi. | Jika tidak ditentukan, Dataflow akan otomatis menentukan jumlah pekerja yang sesuai. |
‑‑num‑workers |
int |
Jumlah awal instance Compute Engine yang akan digunakan saat menjalankan pipeline Anda. Parameter ini menentukan jumlah pekerja Dataflow yang dimulai saat tugas Anda dimulai. | Jika tidak ditentukan, Dataflow akan otomatis menentukan jumlah pekerja yang sesuai. |
‑‑worker‑region |
String |
Region Compute Engine untuk meluncurkan instance pekerja yang akan menjalankan pipeline Anda. Region pekerja Compute Engine dapat berada di region yang berbeda dengan region tugas Dataflow.
Anda dapat menentukan salah satu
|
Jika tidak ditetapkan, setelan defaultnya adalah region Dataflow yang ditentukan. |
‑‑worker‑zone |
String |
Zona Compute Engine untuk meluncurkan instance pekerja yang akan menjalankan pipeline Anda. Zona Compute Engine dapat berada di region yang berbeda dengan region tugas Dataflow.
Anda dapat menentukan salah satu
|
Jika tidak ditetapkan, setelan defaultnya adalah zona di region Dataflow yang ditentukan. |
‑‑worker‑machine‑type |
String |
Jenis mesin Compute Engine yang digunakan Dataflow saat memulai pekerja. Anda dapat menggunakan salah satu grup jenis mesin Compute Engine yang tersedia serta jenis mesin kustom. Untuk hasil terbaik, gunakan jenis mesin Perhatikan bahwa Dataflow menagih berdasarkan jumlah vCPU dan GB memori di pekerja. Penagihan tidak bergantung pada kelompok jenis mesin. |
Jika tidak ditetapkan, Dataflow akan otomatis memilih jenis mesin. |
‑‑service‑account‑email |
String |
Alamat email akun layanan pekerja
yang akan menjalankan pipeline. Alamat email harus dalam bentuk
my-service-account-name@<project-id>.iam.gserviceaccount.com .
|
Jika tidak ditetapkan, pekerja Dataflow akan menggunakan akun layanan Compute Engine dari project saat ini sebagai akun layanan pekerja. |
‑‑disable‑public‑ips |
boolean |
Menentukan apakah pekerja Dataflow menggunakan alamat IP publik. Jika ditetapkan, pekerja Dataflow akan menggunakan alamat IP pribadi untuk semua komunikasi. |
Jika tidak ditetapkan, pekerja Dataflow akan menggunakan alamat IP publik. |
‑‑network |
String |
Jaringan Compute Engine tempat pekerja ditetapkan. | Jika tidak ditetapkan, setelan defaultnya adalah jaringan default . |
‑‑subnetwork |
String |
Sub-jaringan Compute Engine
tempat pekerja ditetapkan. Subnet harus dalam bentuk
regions/region/subnetworks/subnetwork . |
Jika tidak ditetapkan, Dataflow akan otomatis menentukan subnetwork. |
‑‑dataflow‑kms‑key |
String |
Kunci enkripsi yang dikelola pelanggan (CMEK) yang digunakan untuk mengenkripsi data dalam penyimpanan. Anda dapat mengontrol kunci enkripsi melalui Cloud KMS. Kunci harus berada di lokasi yang sama dengan tugas. | Jika tidak ditentukan, Dataflow akan menggunakan enkripsiGoogle Cloud default, bukan CMEK. |
Untuk informasi selengkapnya, lihat referensi perintah gcloud dataflow sql query
.
Menghentikan tugas Dataflow SQL
Untuk menghentikan tugas Dataflow SQL, Anda harus membatalkannya.
Menghentikan tugas Dataflow SQL dengan opsi drain
tidak didukung.
Harga
Dataflow SQL menggunakan harga Dataflow standar; tidak memiliki harga terpisah. Anda akan ditagih untuk resource yang digunakan oleh tugas Dataflow yang Anda buat berdasarkan pernyataan SQL. Biaya untuk resource ini adalah biaya Dataflow standar untuk vCPU, memori, Persistent Disk, Streaming Engine, dan Dataflow Shuffle.
Tugas Dataflow SQL mungkin menggunakan resource tambahan seperti Pub/Sub dan BigQuery, yang masing-masing ditagih sesuai dengan harga sendiri.
Untuk mengetahui informasi selengkapnya tentang harga Dataflow, lihat Harga Dataflow.
Langkah berikutnya
- Ikuti tutorial Menggabungkan data streaming dengan Dataflow SQL.
- Jelajahi Google Cloud CLI untuk Dataflow SQL.