Setelah membuat dan menyiapkan template Dataflow, jalankan template dengan Google Cloud konsol, REST API, atau Google Cloud CLI. Anda dapat men-deploy tugas template Dataflow dari berbagai lingkungan, termasuk lingkungan standar App Engine, fungsi Cloud Run, dan lingkungan terbatas lainnya.
Menggunakan Google Cloud konsol
Anda dapat menggunakan Google Cloud konsol untuk menjalankan template Dataflow kustom dan yang disediakan Google.
Template yang disediakan Google
Untuk menjalankan template yang disediakan Google:
- Buka halaman Dataflow di Google Cloud konsol. Buka halaman Dataflow
- Klik add_boxBUAT TUGAS DARI TEMPLATE.
- Pilih template yang disediakan Google yang ingin Anda jalankan dari menu drop-down Template Dataflow.
- Masukkan nama tugas di kolom Nama Tugas.
- Masukkan nilai parameter Anda di kolom parameter yang disediakan. Anda tidak memerlukan bagian Parameter Tambahan saat menggunakan template yang disediakan Google.
- Klik Jalankan Tugas.
Template kustom
Untuk menjalankan template kustom:
- Buka halaman Dataflow di Google Cloud konsol. Buka halaman Dataflow
- Klik BUAT TUGAS DARI TEMPLATE.
- Pilih Template Kustom dari Template Dataflow menu drop-down.
- Masukkan nama tugas di kolom Nama Tugas.
- Masukkan jalur Cloud Storage ke file template Anda di kolom jalur Cloud Storage template.
- Jika template Anda memerlukan parameter, klik addTAMBAHKAN PARAMETER di bagian Parameter tambahan. Masukkan Nama dan Nilai parameter. Ulangi langkah ini untuk setiap parameter yang diperlukan.
- Klik Jalankan Tugas.
Menggunakan REST API
Untuk menjalankan template dengan permintaan REST API, kirim permintaan POST HTTP dengan project ID Anda. Permintaan ini memerlukan otorisasi.
Lihat referensi REST API untuk projects.locations.templates.launch guna mempelajari parameter yang tersedia lebih lanjut.
Membuat tugas batch template kustom
Contoh permintaan projects.locations.templates.launch ini membuat tugas batch dari template yang membaca file teks dan menulis file teks output. Jika permintaan berhasil, isi respons akan berisi instance LaunchTemplateResponse.
Ubah nilai berikut:
- Ganti
YOUR_PROJECT_IDdengan project ID Anda. - Ganti
LOCATIONdengan region Dataflow pilihan Anda. - Ganti
JOB_NAMEdengan nama tugas pilihan Anda. - Ganti
YOUR_BUCKET_NAMEdengan nama bucket Cloud Storage Anda. - Tetapkan
gcsPathke lokasi Cloud Storage file template file. - Tetapkan
parameterske daftar key-value pair Anda. - Tetapkan
tempLocationke lokasi tempat Anda memiliki izin tulis izin. Nilai ini diperlukan untuk menjalankan template yang disediakan Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://YOUR_BUCKET_NAME/templates/TemplateName
{
"jobName": "JOB_NAME",
"parameters": {
"inputFile" : "gs://YOUR_BUCKET_NAME/input/my_input.txt",
"output": "gs://YOUR_BUCKET_NAME/output/my_output"
},
"environment": {
"tempLocation": "gs://YOUR_BUCKET_NAME/temp",
"zone": "us-central1-f"
}
}
Membuat tugas streaming template kustom
Contoh permintaan projects.locations.templates.launch ini membuat tugas streaming dari template klasik yang membaca dari langganan Pub/Sub dan menulis ke tabel BigQuery. Jika ingin meluncurkan Template Flex, gunakan projects.locations.flexTemplates.launch sebagai gantinya. Template contoh adalah template yang disediakan Google. Anda dapat mengubah jalur dalam template untuk mengarah ke template kustom template. Logika yang sama digunakan untuk meluncurkan template kustom dan yang disediakan Google. Dalam contoh ini, tabel BigQuery harus sudah ada dengan skema yang sesuai. Jika berhasil, isi respons akan berisi instance LaunchTemplateResponse.
Ubah nilai berikut:
- Ganti
YOUR_PROJECT_IDdengan project ID Anda. - Ganti
LOCATIONdengan region Dataflow pilihan Anda. - Ganti
JOB_NAMEdengan nama tugas pilihan Anda. - Ganti
YOUR_BUCKET_NAMEdengan nama bucket Cloud Storage Anda. - Ganti
GCS_PATHdengan lokasi Cloud Storage file template. Lokasi harus diawali dengan gs:// - Tetapkan
parameterske daftar key-value pair Anda. Parameter yang tercantum bersifat khusus untuk contoh template ini. Jika Anda menggunakan template kustom, ubah parameter sesuai kebutuhan. Jika Anda menggunakan template contoh, ganti variabel berikut.- Ganti
YOUR_SUBSCRIPTION_NAMEdengan nama langganan Pub/Sub Anda. - Ganti
YOUR_DATASETdengan set data BigQuery Anda, dan gantiYOUR_TABLE_NAMEdengan nama tabel BigQuery Anda.
- Ganti
- Tetapkan
tempLocationke lokasi tempat Anda memiliki izin tulis izin. Nilai ini diperlukan untuk menjalankan template yang disediakan Google.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=GCS_PATH
{
"jobName": "JOB_NAME",
"parameters": {
"inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME",
"outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME"
},
"environment": {
"tempLocation": "gs://YOUR_BUCKET_NAME/temp",
"zone": "us-central1-f"
}
}
Memperbarui tugas streaming template kustom
Contoh permintaan projects.locations.templates.launch ini menunjukkan cara memperbarui tugas streaming template. Jika ingin memperbarui Template Flex, gunakan projects.locations.flexTemplates.launch sebagai gantinya.
- Jalankan Contoh 2: Membuat tugas streaming template kustom untuk memulai tugas template streaming.
- Kirim permintaan POST HTTP berikut, dengan nilai yang diubah berikut:
- Ganti
YOUR_PROJECT_IDdengan project ID Anda. - Ganti
LOCATIONdengan region Dataflow tugas yang Anda perbarui. - Ganti
JOB_NAMEdengan nama persis tugas yang ingin Anda perbarui. - Ganti
GCS_PATHdengan lokasi Cloud Storage file template. Lokasi harus diawali dengan gs:// - Tetapkan
parameterske daftar key-value pair Anda. Parameter yang tercantum bersifat khusus untuk contoh template ini. Jika Anda menggunakan template kustom, ubah parameter sesuai kebutuhan. Jika Anda menggunakan template contoh, ganti variabel berikut.- Ganti
YOUR_SUBSCRIPTION_NAMEdengan nama langganan Pub/Sub Anda. - Ganti
YOUR_DATASETdengan set data BigQuery Anda, dan gantiYOUR_TABLE_NAMEdengan nama tabel BigQuery Anda.
- Ganti
- Gunakan parameter
environmentuntuk mengubah setelan lingkungan, seperti jenis mesin. Contoh ini menggunakan jenis mesin n2-highmem-2, yang memiliki lebih banyak memori dan CPU per pekerja daripada jenis mesin default.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=GCS_PATH { "jobName": "JOB_NAME", "parameters": { "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_TOPIC_NAME", "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME" }, "environment": { "machineType": "n2-highmem-2" }, "update": true } - Ganti
- Akses antarmuka pemantauan Dataflow dan pastikan tugas baru dengan nama yang sama telah dibuat. Tugas ini memiliki status Diperbarui.
Menggunakan Library Klien Google API
Pertimbangkan untuk menggunakan Library Klien Google API agar dapat dengan mudah melakukan panggilan ke Dataflow REST API. Skrip contoh ini menggunakan Library Klien Google API untuk Python.
Dalam contoh ini, Anda harus menetapkan variabel berikut:
project: Tetapkan ke project ID Anda.job: Tetapkan ke nama tugas unik pilihan Anda.template: Tetapkan ke lokasi Cloud Storage file template.parameters: Tetapkan ke kamus dengan parameter template.
Untuk menetapkan
region,
sertakan
location
parameter.
Untuk mengetahui informasi selengkapnya tentang opsi yang tersedia, lihat metode
projects.locations.templates.launch
di referensi Dataflow REST API.
Menggunakan gcloud CLI
gcloud CLI dapat menjalankan template kustom atau yang
disediakan Google
menggunakan perintah gcloud dataflow jobs run. Contoh menjalankan template yang disediakan Google didokumentasikan di
halaman template yang disediakan Google.
Untuk contoh template kustom berikut, tetapkan nilai berikut:
- Ganti
JOB_NAMEdengan nama tugas pilihan Anda. - Ganti
YOUR_BUCKET_NAMEdengan nama bucket Cloud Storage Anda. - Tetapkan
--gcs-locationke lokasi Cloud Storage file template. - Tetapkan
--parameterske daftar parameter yang dipisahkan koma untuk diteruskan ke tugas. Spasi antara koma dan nilai tidak diizinkan. - Untuk mencegah VM menerima kunci SSH yang disimpan dalam metadata project
gunakan flag
additional-experimentsdengan opsi layananblock_project_ssh_keys--additional-experiments=block_project_ssh_keys.
Membuat tugas batch template kustom
Contoh ini membuat tugas batch dari template yang membaca file teks dan menulis file teks output.
gcloud dataflow jobs run JOB_NAME \
--gcs-location gs://YOUR_BUCKET_NAME/templates/MyTemplate \
--parameters inputFile=gs://YOUR_BUCKET_NAME/input/my_input.txt,output=gs://YOUR_BUCKET_NAME/output/my_output
Permintaan ini menampilkan respons dengan format berikut.
id: 2016-10-11_17_10_59-1234530157620696789
projectId: YOUR_PROJECT_ID
type: JOB_TYPE_BATCH
Membuat tugas streaming template kustom
Contoh ini membuat tugas streaming dari template yang membaca dari topik Pub/Sub dan menulis ke tabel BigQuery. Tabel BigQuery harus sudah ada dengan skema yang sesuai.
gcloud dataflow jobs run JOB_NAME \
--gcs-location gs://YOUR_BUCKET_NAME/templates/MyTemplate \
--parameters topic=projects/project-identifier/topics/resource-name,table=my_project:my_dataset.my_table_name
Permintaan ini menampilkan respons dengan format berikut.
id: 2016-10-11_17_10_59-1234530157620696789
projectId: YOUR_PROJECT_ID
type: JOB_TYPE_STREAMING
Untuk daftar lengkap flag untuk perintah gcloud dataflow jobs run, lihat referensi gcloud CLI.
Pemantauan dan Pemecahan Masalah
Antarmuka pemantauan Dataflow memungkinkan Anda memantau tugas Dataflow. Jika a tugas gagal, Anda dapat menemukan tips pemecahan masalah, strategi proses debug, dan a katalog error umum di the Memecahkan Masalah Pipeline panduan.