Topik ini menjelaskan cara membuat tugas terjadwal di Data Studio dengan menggunakan pekerjaan MaxCompute sebagai contoh dan membantu Anda memulai fitur dasar Data Studio dengan cepat.
Prasyarat
-
Anda telah mengikat sumber data yang diperlukan. Untuk informasi selengkapnya, lihat Persiapan: Mengikat compute engine atau kluster.
-
Anda memiliki izin peran Development. Untuk informasi selengkapnya tentang cara memberikan izin, lihat Menambahkan anggota ke ruang kerja dan mengelola peran mereka.
Topik ini menggunakan node ODPS SQL sebagai contoh. Oleh karena itu, ruang kerja harus diikat ke sumber data MaxCompute.
Latar Belakang
DataWorks Data Studio menyediakan antarmuka pengembangan visual untuk berbagai compute engine, seperti MaxCompute, Hologres, EMR, dan CDH. Antarmuka ini mendukung pengembangan kode cerdas, pembersihan data, pemrosesan data, dan penerapan tugas terstandarisasi, sehingga menjamin pengembangan data yang efisien dan stabil. Untuk informasi selengkapnya, lihat Data Studio (versi lama).
Umumnya, proses menulis data bisnis mentah ke DataWorks dan memprosesnya menjadi tabel hasil akhir mencakup langkah-langkah berikut:
-
Buat beberapa tabel data di DataWorks, contohnya:
-
Tabel sumber untuk menyimpan data yang disinkronkan dari sumber data lain.
-
Tabel hasil untuk menyimpan data yang telah dibersihkan dan diproses oleh DataWorks.
-
-
Buat tugas sinkronisasi untuk menyinkronkan data bisnis ke tabel sumber.
-
Buat node komputasi untuk membersihkan dan memproses data dari tabel sumber secara bertahap serta menulis hasil setiap tahap ke tabel hasil yang sesuai.
Sebagai alternatif, setelah membuat tabel, Anda dapat mengunggah data lokal langsung ke tabel sumber di DataWorks. Kemudian, gunakan node komputasi untuk membersihkan dan memproses data tersebut serta menyimpan hasilnya di tabel hasil. Contoh dalam topik ini melibatkan pengunggahan data lokal dan pembersihannya menggunakan node komputasi.
Buka Data Studio
Login ke Konsol DataWorks. Di wilayah target, klik di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.
Prosedur
-
Pengembangan data diorganisasikan berdasarkan alur kerja. Anda harus membuat alur kerja sebelum mulai mengembangkan kode.
-
DataWorks memungkinkan Anda membuat tabel secara visual, yang kemudian ditampilkan dalam struktur direktori. Sebelum memulai pengembangan data, Anda harus membuat tabel di compute engine untuk menyimpan hasil pembersihan data.
-
DataWorks mengemas tugas dari berbagai compute engine ke dalam jenis node yang berbeda. Anda dapat memilih jenis node yang sesuai berdasarkan kebutuhan bisnis Anda.
-
Di halaman pengeditan node, tulis logika bisnis Anda menggunakan sintaksis mesin database node tersebut.
-
Langkah 5: Konfigurasikan pengaturan penjadwalan untuk node.
Tentukan properti penjadwalan untuk menjalankan node secara berkala.
-
DataWorks menyediakan tiga metode untuk mendebug kode dan memverifikasi logikanya: Quick run untuk potongan kode, Run, dan Advanced run.
-
Langkah 7: Simpan dan kirimkan node.
Setelah mendebug node, Anda harus menyimpan dan mengirimkannya.
-
Langkah 8: Jalankan pengujian asap.
Untuk memastikan tugas produksi berjalan efisien dan menghindari pemborosan resource komputasi, jalankan pengujian asap pada tugas Anda di lingkungan pengembangan untuk memverifikasi kebenarannya sebelum penerapan.
-
DataWorks hanya menjalankan tugas terjadwal yang telah diterapkan ke lingkungan produksi. Setelah pengujian asap berhasil, Anda harus menerapkan tugas ke sistem penjadwalan produksi.
Langkah 1: Buat alur kerja
DataWorks mengorganisasikan pengembangan data berdasarkan alur kerja. Alur kerja menggunakan panel berbentuk kontainer untuk node pengembangan, mengelompokkan alat terkait, optimasi, dan aksi manajemen di sekitar objek pusat. Pendekatan ini menyederhanakan pengembangan dan manajemen. Anda dapat mengelompokkan tugas bisnis terkait ke dalam satu alur kerja untuk memenuhi kebutuhan Anda.
Login ke Konsol DataWorks. Di wilayah target, klik di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.
-
Buat alur kerja.
Anda dapat membuat alur kerja dengan salah satu dari dua cara berikut:
-
Metode 1: Arahkan kursor ke ikon
dan klik Create Workflow. -
Metode 2: Di pohon navigasi sebelah kiri Data Studio, klik kanan Workflow dan pilih Create Workflow.
-
-
Masukkan nama dan deskripsi untuk alur kerja, lalu klik Create.
Dalam tutorial ini, alur kerja bernama
Create your first scheduled taskdibuat. Dalam skenario dunia nyata, Anda harus merencanakan alur kerja berdasarkan kebutuhan bisnis Anda.CatatanUntuk informasi selengkapnya tentang alur kerja, lihat Buat dan kelola alur kerja.
Langkah 2: Buat tabel
Node Data Studio membersihkan dan memproses data sumber Anda. Oleh karena itu, Anda harus terlebih dahulu membuat tabel di compute engine untuk menyimpan hasil pembersihan data dan mendefinisikan struktur tabel tersebut.
-
Buat tabel.
-
Di alur kerja yang Anda buat pada Langkah 1, perluas sub-direktori, klik kanan , lalu pilih Create Table.
-
Konfigurasikan nama tabel, instans engine, dan informasi lainnya.
Dalam tutorial ini, dua tabel berikut dibuat.
Nama Tabel
Deskripsi
bank_dataMenyimpan data bisnis mentah.
result_tableMenyimpan hasil data yang telah dibersihkan.
Catatan-
Untuk pernyataan pembuatan tabel, lihat Pernyataan pembuatan tabel.
-
Untuk informasi selengkapnya tentang pembuatan tabel secara visual untuk berbagai engine, seperti membuat tabel MaxCompute atau EMR, lihat Buat tabel.
-
-
Konfigurasikan struktur tabel.
Buka halaman pengeditan tabel, beralih ke mode DDL, dan gunakan pernyataan DDL untuk mengonfigurasi struktur tabel. Setelah struktur tabel dihasilkan, masukkan Display Name untuk tabel di bagian General. Lalu, kirimkan ke lingkungan pengembangan dan produksi. Setelah mengirimkan tabel, Anda dapat melihatnya di proyek sumber data lingkungan yang sesuai. Untuk melihat informasi sumber data yang diikat untuk setiap lingkungan, lihat Mengikat resource komputasi MaxCompute.
Catatan-
Operasi tabel seperti pembuatan dan pembaruan hanya berlaku di compute engine setelah Anda mengirimkannya ke lingkungan yang sesuai.
-
Anda juga dapat mengonfigurasi struktur tabel secara visual berdasarkan kebutuhan bisnis dan petunjuk di layar. Untuk informasi selengkapnya tentang pembuatan tabel secara visual, lihat Buat dan gunakan tabel MaxCompute.
Pernyataan berikut adalah referensi untuk menghasilkan struktur tabel
bank_data.CREATE TABLE IF NOT EXISTS bank_data ( age BIGINT COMMENT 'Age', job STRING COMMENT 'Job type', marital STRING COMMENT 'Marital status', education STRING COMMENT 'Education level', default STRING COMMENT 'Whether the user has a credit card', housing STRING COMMENT 'Housing loan', loan STRING COMMENT 'Personal loan', contact STRING COMMENT 'Contact method', month STRING COMMENT 'Month of the year', day_of_week STRING COMMENT 'Day of the week', duration STRING COMMENT 'Last contact duration, in seconds', campaign BIGINT COMMENT 'Number of contacts performed during this campaign', pdays DOUBLE COMMENT 'Days since the last contact from a previous campaign', previous DOUBLE COMMENT 'Number of contacts performed before this campaign', poutcome STRING COMMENT 'Outcome of the previous marketing campaign', emp_var_rate DOUBLE COMMENT 'Employment variation rate', cons_price_idx DOUBLE COMMENT 'Consumer price index', cons_conf_idx DOUBLE COMMENT 'Consumer confidence index', euribor3m DOUBLE COMMENT 'Euribor 3-month rate', nr_employed DOUBLE COMMENT 'Number of employees', y BIGINT COMMENT 'Whether the client has subscribed to a term deposit' );Pernyataan berikut adalah referensi untuk menghasilkan struktur tabel
result_table.CREATE TABLE IF NOT EXISTS result_table ( education STRING COMMENT 'Education level', num BIGINT COMMENT 'Number of people' ) PARTITIONED BY ( day STRING, hour STRING ); -
-
Unggah data.
Simpan data bisnis mentah Anda di tabel DataWorks. Dalam contoh ini, file lokal banking.txt diunggah ke tabel
bank_datadi DataWorks untuk mensimulasikan skenario penulisan data dunia nyata. Di wizard impor data, pertama-tama pilih tabel target bank_data, pastikan skema tabel mencakup bidang seperti age, job, marital, education, default, dan housing, lalu atur parameter partisi. Selanjutnya, unggah file lokal banking.txt, atur format file ke CSV, delimiter ke koma, set karakter ke GBK, dan baris awal impor ke 1, lalu centang kotak 'First row is header'. Terakhir, pilih Match by Name sebagai metode pemetaan bidang, pastikan pemetaan antara bidang sumber dan target benar, lalu klik Import Data untuk menyelesaikan operasi. Untuk informasi selengkapnya tentang pengunggahan data, lihat Unggah data lokal ke tabel bank_data.
Langkah 3: Buat node
Pilih jenis node yang sesuai untuk pengembangan berdasarkan kebutuhan bisnis Anda.
Node DataWorks dikategorikan sebagai node sinkronisasi data dan node komputasi. Dalam proses pengembangan khas, Anda pertama-tama menggunakan tugas sinkronisasi batch untuk menyinkronkan data dari database bisnis ke gudang data. Kemudian, Anda menggunakan node komputasi DataWorks untuk membersihkan dan memproses data tabel di gudang tersebut.
-
Buat node.
Anda dapat membuat node dengan salah satu dari dua cara berikut:
-
Metode 1: Buat dari pohon navigasi.
-
Di pohon navigasi, temukan alur kerja yang Anda buat pada Langkah 1 di bawah Workflow.
-
Klik kanan engine yang diinginkan dan pilih node yang sesuai di bawah Create Node.
-
-
Metode 2: Buat dari panel alur kerja.
-
Di pohon navigasi, temukan alur kerja yang Anda buat pada Langkah 1 di bawah Workflow.
-
Klik ganda alur kerja untuk membuka panelnya.
-
Di panel navigasi sebelah kiri, klik node yang diinginkan atau seret ke kanvas.
-
-
-
Konfigurasikan instans engine, nama, dan pengaturan lainnya untuk node.
Dalam tutorial ini, node ODPS SQL bernama
result_tabledibuat, yang sama dengan nama tabel hasil yang dibuat pada Langkah 2.CatatanSaat menggunakan node DataWorks untuk pengembangan data, Anda membersihkan data dengan node pengembangan dan menyimpan hasilnya di tabel hasil. Beri nama node sesuai dengan tabel hasil yang diisi agar lebih mudah menemukan data tabel yang dihasilkan oleh node tersebut.
Di bagian Common Nodes panel Data Studio, seret node ODPS SQL ke kanvas di sebelah kanan untuk membuatnya.
Langkah 4: Edit node
Temukan node yang Anda buat pada Langkah 3 di pohon navigasi alur kerja atau di panel alur kerja. Klik ganda node tersebut untuk membuka editor. Berdasarkan jenis node, tulis logika bisnis Anda menggunakan sintaksis database yang sesuai.
Dalam tutorial ini, node result_table menulis data dari partisi tertentu tabel bank_data ke partisi yang sesuai di tabel result_table. Partisi target didefinisikan menggunakan variabel day dan hour.
-
Selama pengembangan kode, jika Anda perlu mengganti parameter secara dinamis dalam konteks penjadwalan, Anda dapat mendefinisikan variabel dalam kode menggunakan format
${your_variable_name}. Anda kemudian dapat memberikan nilai ke variabel ini saat mengonfigurasi pengaturan penjadwalan di Langkah 5. -
Untuk informasi selengkapnya tentang parameter penjadwalan, lihat Format yang didukung untuk parameter penjadwalan.
-
Untuk informasi selengkapnya tentang sintaksis pengembangan untuk berbagai jenis node, lihat Buat dan gunakan node.
--@exclude_output=xc_DPE_E2.result_table
--@exclude_input=bank_data
--odps sql
--***********************************************************--
--author:xxx
--create time:2022-08-11 14:33:23
--***********************************************************--
INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
SELECT education
, COUNT(marital) AS num
FROM bank_data
WHERE day='${day}' and hour='${hour}'
GROUP BY education;
Kode berikut disediakan sebagai referensi Anda.
INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
SELECT education
, COUNT(marital) AS num
FROM bank_data
GROUP BY education;
Langkah 5: Konfigurasikan pengaturan penjadwalan
Konfigurasikan properti penjadwalan untuk menjalankan node secara berkala. Di halaman editor node, klik Scheduling di panel navigasi sebelah kanan dan konfigurasikan properti berdasarkan kebutuhan bisnis Anda.
|
Parameter |
Deskripsi |
|
DataWorks secara otomatis menampilkan nama, ID, jenis, dan pemilik node. Properti ini tidak memerlukan konfigurasi terpisah. Catatan
|
|
|
Definisikan parameter yang digunakan untuk penjadwalan node. DataWorks menyediakan parameter bawaan dan kustom untuk penugasan parameter dinamis selama penjadwalan tugas. Jika Anda telah mendefinisikan variabel dalam kode di Langkah 4, Anda dapat memberikan nilai di sini. Dalam tutorial ini, nilai diberikan ke variabel dari Langkah 4 untuk menulis data per jam dari tabel
Setelah mengonfigurasi pengaturan ini di bagian Parameters panel Scheduling, nilai yang diberikan ke |
|
|
Properti waktu menentukan cara dan kapan node dijalankan. Gunakan pengaturan ini untuk mengonfigurasi pembuatan instance berkala, siklus penjadwalan, waktu eksekusi, dukungan pengulangan eksekusi, dan periode timeout untuk penghentian tugas otomatis. Catatan
Dalam tutorial ini, node |
|
|
Konfigurasikan kelompok sumber daya penjadwalan yang akan digunakan saat tugas diterapkan ke lingkungan produksi untuk penjadwalan. Tutorial ini menggunakan kelompok sumber daya arsitektur tanpa server default yang disediakan saat DataWorks diaktifkan. Untuk informasi selengkapnya, lihat Gunakan kelompok sumber daya arsitektur tanpa server. |
|
|
Definisikan dependensi hulu dan hilir untuk penjadwalan node. Atur dependensi berdasarkan alur data. Ini memastikan bahwa node saat ini hanya berjalan setelah tugas hulu yang menghasilkan data yang diperlukannya selesai berhasil, sehingga memungkinkan node tersebut mengkueri data tabel hulu dengan benar. Catatan
Dalam tutorial ini, asumsikan bahwa tugas di luar alur kerja saat ini menghasilkan tabel |
|
|
Menentukan cara parameter dilewatkan antara node hulu dan hilir. Node hilir dapat menggunakan fitur ini untuk mengambil nilai dari node hulu. Catatan
Fitur ini biasanya digunakan bersama node assignment atau parameter assignment.
|
Langkah 6: Debug kode
Anda dapat menggunakan metode berikut untuk mendebug logika kode dan memastikan kebenarannya.
|
Metode |
Deskripsi |
Rekomendasi |
|
Menjalankan potongan kode yang dipilih secara cepat. |
Gunakan metode ini ketika Anda perlu menjalankan potongan kode dengan cepat. |
|
|
Bilah alat: Run ( |
Memberikan nilai konstan ke variabel untuk eksekusi uji coba. Catatan
Pertama kali Anda mengklik Run pada node baru, Anda harus secara manual memberikan nilai konstan ke variabel kode di kotak dialog. Penugasan ini disimpan dan tidak perlu diulang untuk eksekusi berikutnya. |
Gunakan metode ini jika Anda perlu sering mendebug seluruh kode. |
|
Bilah alat: Advanced Run ( |
Mengharuskan Anda memberikan nilai konstan ke variabel untuk setiap eksekusi uji coba. |
Gunakan metode ini jika Anda perlu mengubah penugasan variabel untuk eksekusi uji coba. |
Tutorial ini menggunakan Advanced run untuk menguji hasil eksekusi untuk 2022.09.07 14:00. Di kotak dialog Parameters, pilih Scheduling Resource Group (misalnya, Public Scheduling Resource Group). Di bagian Custom Parameters, atur nilai parameter (misalnya, day=20220907 dan hour=14). Klik OK untuk mengeksekusi kode. Log eksekusi menunjukkan bahwa eksekusi berhasil.
Langkah 7: Simpan dan kirimkan node
Setelah mengonfigurasi dan menguji node, Anda harus menyimpan konfigurasi dan mengirimkan node ke lingkungan pengembangan.
Anda hanya dapat mengirimkan node setelah mengonfigurasi Rerun attribute dan Parent Nodes di Langkah 5.
-
Klik ikon
di bilah alat untuk menyimpan konfigurasi node. -
Klik ikon
di bilah alat untuk mengirimkan node ke lingkungan pengembangan.
Langkah 8: Jalankan pengujian asap
Lakukan pengujian asap sebelum menerapkan tugas untuk memastikan tugas produksi berjalan efisien dan menghindari pemborosan resource komputasi. Pengujian asap berjalan di lingkungan pengembangan, jadi Anda harus terlebih dahulu mengirimkan node ke lingkungan tersebut. Setelah pengiriman:
-
Klik ikon
di bilah alat dan konfigurasikan tanggal bisnis di kotak dialog pengujian asap. -
Setelah pengujian asap selesai, klik ikon
di bilah alat untuk melihat hasil pengujian.
Tutorial ini menguji apakah konfigurasi parameter penjadwalan sesuai ekspektasi. Node result_table dijadwalkan berjalan setiap jam dari pukul 00:00 hingga 23:59. Oleh karena itu, konfigurasi pada gambar berikut akan menghasilkan dua instance per jam, dengan waktu eksekusi terjadwal masing-masing pukul 00:00 dan 01:00.
-
Instance adalah snapshot tugas yang dihasilkan saat tugas berkala dijalankan sesuai jadwalnya.
-
Karena node
result_tablediatur sebagai tugas per jam, Anda tidak hanya perlu mengonfigurasi tanggal bisnis untuk pengujian asap, tetapi juga memilih rentang waktu instance yang akan dijalankan. -
Untuk informasi selengkapnya tentang pengujian asap, lihat Jalankan pengujian asap.
Klik ikon Smoke testing (☑) di bilah alat atas. Di panel pengujian asap yang muncul, atur Business Date (misalnya, 2022-09-01), Start Time (00:00), dan End Time (01:00).
Langkah 9: Terapkan tugas
Di ruang kerja mode dasar, tugas dijadwalkan secara berkala setelah dikirimkan. Di ruang kerja mode standar, tugas yang dikirimkan masuk ke status "menunggu penerapan". Anda kemudian harus menerapkan tugas ke lingkungan produksi untuk mengaktifkan penjadwalan berkala.
-
DataWorks hanya mendukung penjadwalan otomatis untuk tugas yang diterapkan ke lingkungan produksi. Setelah pengujian asap berhasil, Anda harus menerapkan tugas ke sistem penjadwalan produksi untuk mengaktifkan penjadwalan berkala.
-
Untuk informasi selengkapnya tentang perbedaan antara mode ruang kerja, lihat Perbedaan antara mode ruang kerja.
Di ruang kerja mode standar, setiap perubahan yang Anda kirimkan di Data Studio, seperti membuat, memperbarui, atau menghapus node, resource, dan fungsi, dikirim ke halaman penerapan tugas untuk menunggu penerapan. Untuk menerapkan perubahan tersebut, Anda harus menavigasi ke dan membuat paket penyebaran untuk merilisnya ke lingkungan produksi. Perubahan tersebut hanya aktif setelah penerapan berhasil. Untuk informasi selengkapnya, lihat Terapkan tugas.
Tabel berikut menjelaskan proses penerapan.
|
Topik penerapan |
Deskripsi |
|
Kontrol proses penerapan |
Izin peran dan kontrol proses membatasi operasi penerapan. Setelah melakukan penerapan, pastikan status paket penyebaran adalah "berhasil." Catatan
|
|
Kontrol waktu efektif penerapan |
Untuk penerapan yang dilakukan selama jendela pembuatan instance harian ( Catatan
Pembatasan ini berlaku untuk kedua mode pembuatan instance, yaitu Next Day dan Immediately After Deployment. Untuk informasi selengkapnya tentang mode ini, lihat Mode pembuatan instance. |
Langkah selanjutnya
Anda dapat membuka untuk melihat tugas penjadwalan batch yang diterapkan ke lingkungan produksi dan melakukan operasi O&M terkait. Untuk informasi selengkapnya, lihat O&M dasar untuk tugas berkala.