Plugin Data Asset Governance dari DataWorks adalah alat berbasis AI yang terintegrasi ke dalam Data Studio. Plugin ini membantu Anda mengidentifikasi dan memperbaiki masalah kode secara real-time, sehingga meningkatkan kualitas kode dan keamanan data.
Ikhtisar
Fitur diagnosis masalah pengembangan data mengintegrasikan dua kemampuan inti: diagnosis sintaks real-time (LSP) dan pemeriksaan kesehatan pengembangan. Kedua kemampuan ini bekerja bersama untuk memastikan kualitas kode Anda.
Kemampuan | Diagnosis sintaks real-time (LSP) | Pemeriksaan kesehatan pengembangan |
Tanggung jawab utama | Pemeriksaan sintaks real-time dan analisis kode statis. | Pemeriksaan berbasis aturan untuk standar data, keamanan, dan masalah performa. |
Pemicu | Dipicu secara real-time saat Anda mengedit kode. |
|
Masalah yang diselesaikan | Error sintaks SQL, penggunaan fungsi yang salah, dan lainnya. | Fitur ini menyediakan pustaka aturan bawaan yang mencakup isu seperti penggunaan partisi yang tidak tepat, penulisan lintas proyek, dan ketidakkonsistenan tipe kolom JOIN. Fitur ini juga mendukung pustaka aturan kustom yang didukung oleh DataWorks Copilot. |
Metode perbaikan | Perbaikan dibantu oleh DataWorks Copilot. | Memberikan saran perbaikan berbasis AI dan quick fix. |
Jika kode Anda memiliki error sintaks, hanya diagnosis sintaks real-time (LSP) yang dipicu. Pemeriksaan kesehatan pengembangan hanya dijalankan setelah Anda menyelesaikan semua error sintaks.
Pemeriksaan yang gagal tidak memengaruhi eksekusi kode.
Ketersediaan Wilayah
Pemindaian mendalam hanya didukung di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Tiongkok (Chengdu), Tiongkok (Hong Kong), dan Singapura.
Fitur selain pemindaian mendalam hanya didukung di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Tiongkok (Chengdu), Tiongkok (Hong Kong), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jerman (Frankfurt), AS (Silicon Valley), dan AS (Virginia).
Memulai dengan cepat
Ikuti langkah-langkah berikut untuk mencoba alur kerja inti diagnosis dan perbaikan masalah kode dalam waktu 5 menit.
Aktifkan fitur pemeriksaan kualitas
Buka Data Studio di DataWorks, klik di bagian bawah panel navigasi kiri, lalu buka tab User pada halaman Setup. Pastikan bahwa
Data Governance>DataStudio Governance Check Module EnablementdanLspSetting>SyntaxErrorEnablekeduanya dipilih (diaktifkan secara default).CatatanDataStudio Governance Check Module Enablement mengontrol fitur pemeriksaan plugin Data Asset Governance, sedangkan SyntaxErrorEnable mengontrol fitur diagnosis sintaks real-time. Keduanya bertanggung jawab atas tingkat pemeriksaan kualitas kode yang berbeda, dan keduanya harus diaktifkan agar fitur diagnosis masalah berfungsi secara lengkap.
Tulis kode contoh yang mengandung masalah
Buat node MaxCompute ODPS SQL dan tempel kode contoh berikut yang mengandung error ke dalam editor.
-- Contoh: Buat tabel dalam SQL CREATE TABLE IF NOT EXISTS my_partitioned_table ( id STRING, name STRING, value BIGINT ) PARTITIONED BY (ds STRING) LIFECYCLE 365; -- Contoh: Error sintaks SELEC name FROM my_partitioned_table;Identifikasi masalah sintaks LSP
LSP mendeteksi masalah secara real-time. Anda akan melihat garis bergelombang merah di bawah
SELEC, yang menunjukkan adanya error sintaks. Klik ikon
di pojok kiri bawah halaman, lalu lihat masalah kode di panel Problems.
Perbaiki masalah sintaks LSP
Arahkan kursor ke
SELECyang bergaris bawah merah, klik ikon bola lampu yang muncul, lalu gunakan DataWorks Copilot untuk memperbaikinya secara cepat menjadiSELECT.

Identifikasi masalah aturan governance
Setelah Anda mengklik Save, editor memeriksa masalah kode berdasarkan aturan yang diaktifkan pada plugin Data Asset Governance. Dalam kasus ini, dua aturan pemeriksaan kesehatan pengembangan bawaan dipicu:
CREATE TABLE tidak diizinkandanKueri tabel partisi harus menyertakan filter partisi.Jika panel Problems tidak muncul secara otomatis, klik ikon
di pojok kiri bawah halaman untuk membuka panel Problems.
Perbaiki masalah aturan governance
Anda dapat mengarahkan kursor ke my_partitioned_table lalu mengklik Quick Fix, atau mengklik tautan di panel Problems. Setelah saran perbaikan dihasilkan, pastikan bahwa saran tersebut sesuai dengan kebutuhan optimasi, lalu terapkan saran tersebut.

Dalam contoh ini, gunakan quick fix untuk memperbaiki pernyataan SQL kedua.

Lakukan pemindaian mendalam pada satu file
Setelah Anda memperbaiki masalah, Anda dapat melakukan pemindaian mendalam pada kode satu node. Misalnya, setelah hanya memperbaiki aturan
Kueri tabel partisi harus menyertakan filter partisi, klik In-depth Inspection. Editor akan melakukan pemindaian mendalam pada file tersebut dan menampilkan masalah yang belum terselesaikan:CREATE TABLE tidak diizinkan dalam task.
Fitur inti
Pengaturan konfigurasi
Konfigurasikan fitur diagnosis masalah sesuai preferensi Anda. Semua pengaturan konfigurasi hanya berlaku untuk akun yang sedang login.
Buka halaman daftar ruang kerja DataWorks, temukan ruang kerja target, lalu klik Actions > Quick Access > Data Studio.
Klik di bagian bawah panel navigasi kiri, lalu buka tab User pada halaman Setup.
Jalur konfigurasi | Nama konfigurasi | Deskripsi | Nilai valid | Nilai default | Dampak |
Data Studio |
| Aktifkan plugin Data Asset Governance |
|
| Mengontrol apakah masalah standar data, keamanan, dan performa diperiksa saat Anda menyimpan node. |
LspSetting |
| Aktifkan diagnosis sintaks real-time |
|
| Mengontrol apakah error sintaks ditampilkan secara real-time saat Anda mengedit kode. |
LspSetting |
| Tingkat keparahan error sintaks |
|
| Mengontrol tingkat keparahan error sintaks yang ditampilkan di editor, seperti garis bergelombang merah (Error) atau kuning (Warning). |
Manajemen pustaka aturan bawaan
Perilaku pemeriksaan plugin Data Asset Governance dikendalikan oleh pustaka aturan, yang terbagi menjadi aturan bawaan dan aturan kustom. Anda dapat mengaktifkan atau menonaktifkan aturan tertentu sesuai kebutuhan.
Manajemen pustaka aturan hanya berlaku untuk Akun Alibaba Cloud saat ini.
Di panel navigasi kiri halaman Data Studio, klik ikon governance
untuk membuka konfigurasi plugin Data Asset Governance.Di bagian Built-in Rule Library pada panel plugin Data Asset Governance, temukan aturan governance target lalu klik ikon toggle di sebelahnya untuk mengaktifkan atau menonaktifkan aturan tersebut.
Diaktifkan (default): Aturan diperiksa saat Anda menyimpan node.
Dimatikan: Aturan tidak diperiksa saat Anda menyimpan node.
Pustaka aturan kustom
Ketika aturan bawaan tidak memenuhi logika bisnis atau standar pengkodean spesifik tim Anda, plugin Data Asset Governance menyediakan pustaka aturan kustom. Anda dapat mendefinisikan aturan pemeriksaan baru dengan menggunakan deskripsi bahasa alami dan contoh positif/negatif.
Skenario aturan kustom yang didukung
Dimensi pemeriksaan | Konten pemeriksaan inti | Nilai utama | Ruang lingkup yang berlaku |
Teks kode | Kode mentah dalam node, seperti skrip SQL. | Memeriksa gaya kode, kata kunci terlarang, dan praktik terbaik. | Semua jenis task |
Pengaturan penjadwalan | Resource group, penjadwalan, pengaturan timeout, dan lainnya. | Memastikan penggunaan resource sesuai dan mencegah error konfigurasi penjadwalan. | Semua jenis task |
Riwayat Node | Ketergantungan hulu dan hilir suatu task. | Menganalisis dampak pipeline dan mencegah risiko dari perubahan pada node kritis. | Semua jenis task |
Penguraian kode | Tabel, fungsi, view, dan objek lain yang dirujuk dalam SQL. | Mengidentifikasi operasi pada tabel sensitif, penyalahgunaan fungsi, dan memastikan kepatuhan izin. | Semua jenis task berbasis SQL |
Metadata dan lineage | Struktur tabel, detail kolom, dan lineage tingkat tabel. | Memeriksa dampak perubahan kolom dan memastikan konsistensi model data. | MaxCompute SQL, EMR Spark SQL, EMR Hive, dan Hologres SQL |
Metrik tata kelola data | Biaya, penyimpanan, skor kesehatan output, dan lainnya (data T+1). | Memantau biaya dan kualitas data, serta mendorong optimalisasi tata kelola berkelanjutan. | Semua jenis task berbasis SQL |
Prosedur
Di panel navigasi kiri halaman Data Studio, klik ikon governance
untuk membuka konfigurasi plugin Data Asset Governance.Di bagian Custom Rule Library pada panel plugin Data Asset Governance, klik
+untuk membuat aturan. Misalnya, buat aturan kustom berikut.PentingAnda dapat mengklik AI Generation untuk menghasilkan aturan governance spesifik menggunakan kemampuan Copilot.
Rule Name:
UPDATE tabel fakta harus menyertakan klausa WHERE.Tingkat Keparahan: Tingkat Warning hanya memberikan prompt selama fase pengembangan, sedangkan tingkat Error memicu peringatan dan memblokir deployment. Misalnya, pilih
Warning.Scope: Pilih cakupan node untuk aturan tersebut. Misalnya, pilih
MaxCompute > MaxCompute SQL.Effective Scope: Mendukung level Personal, Workspace, dan Tenant.
PentingLevel Tenant hanya terlihat oleh administrator tenant. Level Workspace hanya terlihat oleh administrator workspace. Anggota biasa hanya dapat melihat opsi level Personal.
Rule Description:
Periksa pernyataan UPDATE dalam MaxCompute SQL. Jika targetnya adalah tabel fakta (nama tabel diakhiri dengan _f) dan tidak menyertakan klausa WHERE, tandai sebagai masalah berisiko tinggi.Positive Example:
UPDATE my_project.order_detail_f SET status='shipped' WHERE order_id='123';UPDATE my_project.order_detail_dim SET status='shipped';
Contoh Error:
UPDATE my_project.order_detail_f SET status='expired';
Setelah Anda mengklik Save, aturan tersebut berlaku di In-depth Inspection.
Jika aturan tersebut tidak lagi diperlukan, arahkan kursor ke aturan governance kustom target lalu klik ikon disable
di sebelahnya untuk menonaktifkan aturan tersebut.
Pemindaian mendalam
Selain pemindaian satu file yang disebutkan di bagian Memulai dengan Cepat, pemindaian mendalam batch juga didukung.
Di panel navigasi kiri halaman Data Studio, klik ikon governance
untuk membuka konfigurasi plugin Data Asset Governance.Di bagian In-depth Inspection pada panel plugin Data Asset Governance, pilih file yang akan dipindai secara batch dan aturan yang akan diterapkan, lalu mulai pemindaian mendalam.
PentingCakupan pemindaian batch terbatas pada tab file yang sedang terbuka di editor. Anda dapat memilih hingga 5 file. File yang tidak terbuka tidak dapat dipilih.
Hanya satu pemindaian mendalam yang dapat dijalankan dalam satu waktu selama pemindaian batch.

Di panel hasil In-depth Inspection, klik View Log di pojok kanan atas untuk melihat proses penilaian terperinci oleh model bahasa besar terhadap aturan pemeriksaan.
Detail aturan governance
Di pojok kanan atas bagian In-depth Inspection pada panel plugin Data Asset Governance, klik
untuk melihat detail semua aturan pemeriksaan. Bagian berikut menjelaskan beberapa aturan bawaan inti dari plugin Data Asset Governance.
Untuk jenis node yang berlaku bagi setiap aturan governance, lihat Jenis node yang didukung.
Kueri tabel partisi harus menyertakan filter partisi
Deskripsi risiko: Mengkueri tabel partisi MaxCompute tanpa menentukan partisi memicu pemindaian tabel penuh, yang mengonsumsi sumber daya komputasi signifikan dan menimbulkan biaya tinggi.
Contoh kode salah:
SELECT user_id, order_amount FROM user_orders WHERE status = 'paid';Contoh kode benar:
SELECT user_id, order_amount FROM user_orders WHERE status = 'paid' AND pt = '${bizdate}'; -- Tambahkan kondisi filter partisiLogika perbaikan otomatis: Quick fix didukung. Sistem secara otomatis menambahkan kondisi partisi ke klausa
WHERE, sepertiAND pt = '${bizdate}'.
INSERT INTO dengan rerun diaktifkan tidak diizinkan
Deskripsi risiko: Jika task SQL hanya berisi logika
INSERT INTOdan rerun diizinkan dalam pengaturan penjadwalan, setiap rerun akan menambahkan data ke tabel target, yang dapat menyebabkan duplikasi data dan mengompromikan akurasi data.Contoh kode salah:
-- Atur properti task ke "Rerunnable" INSERT INTO target_table SELECT * FROM source_table;Contoh kode benar:
-- Atur properti task ke "Rerunnable" INSERT OVERWRITE TABLE target_table SELECT * FROM source_table;Logika perbaikan otomatis: Quick fix didukung. Sistem mengubah
INSERT INTOmenjadiINSERT OVERWRITEuntuk memastikan data ditimpa, bukan ditambahkan, selama rerun.
Tipe kolom JOIN harus konsisten
Deskripsi risiko: Di MaxCompute SQL, ketidakkonsistenan tipe kolom dalam operasi
JOINmenyebabkan konversi tipe implisit, yang dapat mengakibatkan error komputasi, degradasi performa, dan masalah kualitas data.Contoh kode salah:
-- a.user_id adalah BIGINT, b.uid adalah STRING SELECT * FROM table_a a JOIN table_b b ON a.user_id = b.uid;Contoh kode benar:
-- a.user_id adalah BIGINT, b.uid adalah STRING SELECT * FROM table_a a JOIN table_b b ON a.user_id = CAST(b.uid AS BIGINT);Logika perbaikan otomatis: Quick fix didukung. Sistem secara otomatis mendeteksi dan menerapkan konversi tipe eksplisit menggunakan fungsi
CASTpada salah satu kolom agar sesuai dengan tipe kolom lainnya.
INSERT ke tabel di luar proyek saat ini
Deskripsi risiko: Menulis data dari task di proyek A ke tabel di proyek B merupakan operasi berisiko tinggi. Hal ini melanggar isolasi proyek dan dapat menyebabkan akses data tidak sah serta kebocoran data.
Contoh kode salah:
-- Jalankan dalam task di project_A INSERT INTO project_B.some_table SELECT * FROM my_table;Contoh kode benar:
-- Pendekatan yang direkomendasikan: Data harus ditulis oleh task yang dimiliki oleh proyek pemilik tabel (project_B). -- Hindari operasi ini di project_A.Logika perbaikan otomatis: Perbaikan otomatis tidak didukung. Anda harus menyesuaikan pipeline sinkronisasi data berdasarkan kebutuhan bisnis untuk memastikan data ditulis oleh task milik proyek target.
Tugas terjadwal tidak boleh menulis ke tabel lingkungan pengembangan
Deskripsi risiko: Saat tugas terjadwal di lingkungan produksi menulis data ke tabel di lingkungan pengembangan, tingkat perlindungan data berkurang, sehingga menimbulkan risiko keamanan data.
Contoh kode salah:
-- Jalankan dalam task di lingkungan produksi (PROD) INSERT OVERWRITE TABLE user_dev.temp_data SELECT * FROM user_prod.source_data;Contoh kode benar:
-- Task produksi harus menulis ke tabel di lingkungan produksi INSERT OVERWRITE TABLE user_prod.result_data SELECT * FROM user_prod.source_data;Logika perbaikan otomatis: Perbaikan otomatis tidak didukung. Anda harus memodifikasi tabel target secara manual untuk memastikan alur data mematuhi standar isolasi lingkungan.
CREATE TABLE tidak diizinkan dalam SQL
Deskripsi risiko: Menggunakan
CREATE TABLEsecara langsung dalam task SQL terjadwal dapat menyebabkan kepemilikan tabel tidak jelas (tabel biasanya dimiliki oleh akun utama atau akun penjadwalan), meningkatkan biaya manajemen, dan menimbulkan risiko penghapusan data tidak sengaja.Contoh kode salah:
CREATE TABLE my_temp_table (id INT); INSERT INTO my_temp_table VALUES (1);Contoh kode benar:
-- Tabel harus dibuat terlebih dahulu di modul manajemen tabel DataWorks, lalu digunakan langsung dalam task SQL. INSERT INTO my_temp_table VALUES (1);Logika perbaikan otomatis: Perbaikan otomatis tidak didukung. Kami merekomendasikan Anda membuat tabel di manajemen metadata DataWorks, atau gunakan
CREATE TABLE IF NOT EXISTSuntuk menghindari error dalam skenario tertentu.
Pemeriksa parameter penjadwalan yang hilang
Deskripsi risiko: Tujuan utama task penjadwalan periodik adalah memproses data secara inkremental berdasarkan dimensi waktu. Jika parameter penjadwalan (seperti
${bizdate}) tidak ada dalam kondisiWHERE, task tersebut dapat memproses data penuh setiap hari atau memproses rentang tanggal yang salah, sehingga menyebabkan kelalaian data, ketidakkonsistenan, dan pemborosan sumber daya signifikan.Contoh kode salah:
-- Error: Parameter penjadwalan tidak ada, tidak dapat melakukan pemrosesan inkremental harian INSERT OVERWRITE TABLE users_active_today PARTITION (pt = '${bizdate}') SELECT user_id FROM login_log; -- WHERE pt = '...' tidak adaContoh kode benar:
-- Benar: Gunakan parameter penjadwalan sebagai kondisi filter untuk mencapai pemrosesan inkremental harian INSERT OVERWRITE TABLE users_active_today PARTITION (pt = '${bizdate}') SELECT user_id FROM login_log WHERE pt = '${bizdate}';Logika perbaikan otomatis: Perbaikan otomatis tidak sepenuhnya didukung. Plugin menyoroti potensi filter parameter penjadwalan yang hilang, tetapi karena kompleksitas logika bisnis, kami merekomendasikan Anda menambahkan kondisi filter yang benar secara manual sesuai kebutuhan aktual.
FAQ
T: Apakah pemeriksaan ini memengaruhi performa editor atau kecepatan penyimpanan node?
J: Diagnosis sintaks real-time (LSP) memiliki dampak kecil terhadap performa editor, tetapi masih dalam batas yang dapat diterima. Plugin Data Asset Governance dipicu saat menyimpan dan menambahkan sedikit waktu penyimpanan, tergantung pada kompleksitas kode dan jumlah aturan. Jika Anda mengalami lag yang signifikan, periksa jaringan Anda atau hubungi dukungan teknis.
T: Apakah fitur ini gratis? Apakah DataWorks Copilot diperlukan?
J: Fitur diagnosis masalah merupakan kemampuan bawaan DataWorks dan gratis. Namun, jika Anda menggunakan saran perbaikan dari DataWorks Copilot, aturan penagihan yang ditentukan dalam penagihan DataWorks Copilot berlaku. Anda juga dapat memilih untuk tidak menggunakan Copilot dan memperbaiki masalah secara manual.
T: Mengapa masalah kode tidak terdeteksi meskipun saya telah mengaktifkan fitur ini?
A: Lakukan pemecahan masalah dengan mengikuti langkah-langkah berikut.
Periksa sakelar utama: Pastikan bahwa
DataStudio Governance Check Module EnablementdanSyntaxErrorEnablekeduanya diaktifkan di bawah Settings > User > Extensions.Periksa sakelar aturan: Buka Rule Library dan pastikan aturan yang ingin Anda terapkan telah diaktifkan.
Verifikasi jenis node: Periksa apakah jenis node saat ini termasuk dalam ruang lingkup yang berlaku untuk aturan target.
Masalah jaringan: Periksa apakah ada permintaan jaringan yang gagal di alat developer browser. Layanan LSP atau layanan governance mungkin gagal dimuat karena masalah jaringan.
T: Apa yang terjadi jika layanan LSP atau plugin governance tidak tersedia?
A: Jika layanan backend sementara tidak tersedia, fitur diagnosis masalah akan gagal tanpa pemberitahuan. Anda tidak akan melihat prompt sintaks secara real-time atau masalah tata kelola saat menyimpan, tetapi operasi pengeditan dan penyimpanan kode biasa tetap berjalan normal. Kami menyarankan agar Anda memuat ulang halaman dan memicu pemeriksaan lagi.
Lampiran: Daftar Istilah
Istilah | English | Deskripsi |
Live scan | Live Scan | Pemeriksaan cepat dan ringan yang dilakukan pada node aktif saat Anda menyimpan. Saat ini, karena pertimbangan performa, hanya aturan bawaan berkinerja tinggi yang diterapkan. |
Deep scan | Deep Scan | Pemeriksaan komprehensif dan memakan waktu yang dipicu secara manual pada semua node dalam cakupan tertentu (satu node, node personal, workspace, atau folder). Semua aturan diterapkan, termasuk aturan AI kustom. |
Custom AI checker | Custom AI Checker | Aturan pemeriksaan yang didefinisikan pengguna dalam format tertentu (seperti bahasa alami plus contoh) dan didukung oleh model bahasa besar. |
Problems panel | Problems Panel | Area UI native atau plugin di VS Code untuk menampilkan masalah kode secara terpusat. |
Quick fix | Quick Fix | Aksi yang dapat diklik yang disediakan plugin untuk masalah yang terdeteksi yang secara otomatis memperbaiki kode atau konfigurasi. |