All Products
Search
Document Center

DataWorks:Diagnosis dan atur masalah node

Last Updated:Apr 25, 2026

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.

  • Dipicu saat Anda menyimpan node.

  • Pemindaian mendalam manual pada satu file.

  • Pemindaian mendalam batch menggunakan aturan kustom.

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.

Penting
  • 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.

  1. Aktifkan fitur pemeriksaan kualitas

    Buka Data Studio di DataWorks, klik image > Setup di bagian bawah panel navigasi kiri, lalu buka tab User pada halaman Setup. Pastikan bahwa Data Governance > DataStudio Governance Check Module Enablement dan LspSetting > SyntaxErrorEnable keduanya dipilih (diaktifkan secara default).

    Catatan

    DataStudio 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.

  2. 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;
  3. 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 image di pojok kiri bawah halaman, lalu lihat masalah kode di panel Problems.

    image

  4. Perbaiki masalah sintaks LSP

    Arahkan kursor ke SELEC yang bergaris bawah merah, klik ikon bola lampu yang muncul, lalu gunakan DataWorks Copilot untuk memperbaikinya secara cepat menjadi SELECT.

    image

    image

  5. 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 diizinkan dan Kueri tabel partisi harus menyertakan filter partisi.

    Jika panel Problems tidak muncul secara otomatis, klik ikon image di pojok kiri bawah halaman untuk membuka panel Problems.

    image

  6. 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.

    image

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

    image

  7. 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.

    image

Fitur inti

Pengaturan konfigurasi

Konfigurasikan fitur diagnosis masalah sesuai preferensi Anda. Semua pengaturan konfigurasi hanya berlaku untuk akun yang sedang login.

  1. Buka halaman daftar ruang kerja DataWorks, temukan ruang kerja target, lalu klik Actions > Quick Access > Data Studio.

  2. Klik image > Setup 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

DataStudio Governance Check Module Enablement

Aktifkan plugin Data Asset Governance

true / false

true

Mengontrol apakah masalah standar data, keamanan, dan performa diperiksa saat Anda menyimpan node.

LspSetting

SyntaxErrorEnable

Aktifkan diagnosis sintaks real-time

true / false

true

Mengontrol apakah error sintaks ditampilkan secara real-time saat Anda mengedit kode.

LspSetting

SyntaxErrorSeverity

Tingkat keparahan error sintaks

Error, Warning, Info

Error

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.

Penting

Manajemen pustaka aturan hanya berlaku untuk Akun Alibaba Cloud saat ini.

  1. Di panel navigasi kiri halaman Data Studio, klik ikon governance image untuk membuka konfigurasi plugin Data Asset Governance.

  2. 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

  1. Di panel navigasi kiri halaman Data Studio, klik ikon governance image untuk membuka konfigurasi plugin Data Asset Governance.

  2. Di bagian Custom Rule Library pada panel plugin Data Asset Governance, klik + untuk membuat aturan. Misalnya, buat aturan kustom berikut.

    Penting

    Anda 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.

      Penting

      Level 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';

  3. Setelah Anda mengklik Save, aturan tersebut berlaku di In-depth Inspection.

  4. Jika aturan tersebut tidak lagi diperlukan, arahkan kursor ke aturan governance kustom target lalu klik ikon disable image di sebelahnya untuk menonaktifkan aturan tersebut.

Pemindaian mendalam

Selain pemindaian satu file yang disebutkan di bagian Memulai dengan Cepat, pemindaian mendalam batch juga didukung.

  1. Di panel navigasi kiri halaman Data Studio, klik ikon governance image untuk membuka konfigurasi plugin Data Asset Governance.

  2. 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.

    Penting
    • Cakupan 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.

    image

  3. 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 image untuk melihat detail semua aturan pemeriksaan. Bagian berikut menjelaskan beberapa aturan bawaan inti dari plugin Data Asset Governance.

Catatan

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 partisi
  • Logika perbaikan otomatis: Quick fix didukung. Sistem secara otomatis menambahkan kondisi partisi ke klausa WHERE, seperti AND pt = '${bizdate}'.

INSERT INTO dengan rerun diaktifkan tidak diizinkan

  • Deskripsi risiko: Jika task SQL hanya berisi logika INSERT INTO dan 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 INTO menjadi INSERT OVERWRITE untuk memastikan data ditimpa, bukan ditambahkan, selama rerun.

Tipe kolom JOIN harus konsisten

  • Deskripsi risiko: Di MaxCompute SQL, ketidakkonsistenan tipe kolom dalam operasi JOIN menyebabkan 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 CAST pada 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 TABLE secara 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 EXISTS untuk 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 kondisi WHERE, 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 ada
  • Contoh 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 Enablement dan SyntaxErrorEnable keduanya 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.