全部产品
Search
文档中心

AnalyticDB:Pengembangan SQL BSP XIHE

更新时间:Jul 06, 2025

AnalyticDB for MySQL Data Lakehouse Edition (V3.0) memungkinkan Anda mengirimkan pekerjaan SQL bulk synchronous parallel (BSP) XIHE menggunakan editor SQL atau Java Database Connectivity (JDBC). Topik ini menjelaskan skenario yang berlaku, metode pengiriman, dan parameter konfigurasi dari pengembangan SQL BSP XIHE, serta memberikan jawaban atas beberapa pertanyaan yang sering diajukan.

Prasyarat

  • Grup sumber daya pekerjaan telah dibuat untuk kluster Enterprise Edition, Basic Edition, atau Data Lakehouse Edition AnalyticDB for MySQL.

  • Akun database telah dibuat untuk kluster Enterprise Edition, Basic Edition, atau Data Lakehouse Edition AnalyticDB for MySQL.

Skenario

Pekerjaan SQL BSP XIHE dijalankan menggunakan mesin BSP XIHE. Pengembangan SQL BSP XIHE cocok untuk pekerjaan extract-transform-load (ETL), kueri besar, dan kueri prioritas rendah yang tiba-tiba muncul dalam jumlah besar. Untuk informasi lebih lanjut tentang mesin BSP XIHE, lihat bagian "Mesin komputasi" dari topik Fungsi dan fitur.

Pekerjaan ETL

Gambar berikut menunjukkan proses ETL yang khas.

Operasi seperti pembersihan data dan transformasi data selama proses ETL dari sumber data ke lapisan Application Data Service (ADS) melibatkan sejumlah besar data dan memerlukan waktu yang lama untuk diselesaikan. Untuk pekerjaan ETL, kecepatan respons bukanlah perhatian utama, tetapi sistem harus menyediakan kemampuan seperti pengulangan otomatis untuk memastikan keandalan. Mesin BSP XIHE adalah pilihan ideal karena throughput tinggi, keandalan, dan efisiensi biayanya.

Setelah pekerjaan ETL selesai, aplikasi data dapat mengambil data dari lapisan ADS, yang mungkin memerlukan waktu respons detik atau milidetik. Dalam hal ini, mesin pemrosesan paralel masif (MPP) XIHE yang lebih cepat lebih cocok.

Kueri besar

Dalam mode MPP XIHE, kueri besar mungkin mengalami kesalahan out-of-memory (OOM) atau pengecualian kueri. Peningkatan sumber daya dapat menyelesaikan masalah ini tetapi tidak hemat biaya. Dalam hal ini, Anda dapat menggunakan mesin BSP XIHE untuk menjalankan kueri besar dalam grup sumber daya pekerjaan. Ini memberikan keandalan yang lebih tinggi dengan menyimpan hasil antara kueri di disk, serta memungkinkan efisiensi biaya yang lebih baik dengan permintaan sumber daya sesuai kebutuhan dan penagihan.

Kueri prioritas rendah yang tiba-tiba muncul dalam jumlah besar

Kueri prioritas rendah tidak perlu dikembalikan dengan kecepatan tinggi. Namun, ketika kueri prioritas rendah secara tiba-tiba dikirimkan dalam jumlah besar, sistem mungkin tidak memiliki cukup sumber daya untuk kueri tersebut. Akibatnya, pelaksanaan kueri lainnya mungkin terpengaruh. Untuk menyelesaikan masalah ini, Anda dapat menggunakan mesin BSP XIHE untuk menjalankan kueri ini dalam grup sumber daya pekerjaan.

Batasan

  • Anda tidak dapat menulis tabel Hudi dalam mode BSP XIHE.

  • Anda tidak dapat membaca dan menulis tabel Delta dalam mode BSP XIHE.

Mengembangkan pekerjaan BSP XIHE

Anda dapat menggunakan salah satu metode berikut untuk mengembangkan pekerjaan BSP XIHE:

Gunakan editor SQL untuk mengirimkan pekerjaan BSP XIHE

Di halaman Pengembangan SQL, Anda dapat memilih grup sumber daya pekerjaan dan mesin XIHE untuk mengirimkan pekerjaan BSP XIHE.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster.

  2. Di panel navigasi di sebelah kiri, pilih Job Development > SQL Development.

  3. Di tab SQLConsole, pilih grup sumber daya pekerjaan dan mesin XIHE.

  4. Masukkan pernyataan SQL dan klik Execute.

  5. Setelah pernyataan SQL dijalankan, lihat hasil eksekusi pada tab Execution Results.

    Di tab Execution Records, Anda dapat mengklik Result di kolom Actions yang sesuai dengan suatu pernyataan SQL untuk mengunduh hasil eksekusinya.

Gunakan JDBC atau klien MySQL untuk mengirimkan pekerjaan BSP XIHE secara sinkron

Anda dapat menambahkan petunjuk dan menentukan grup sumber daya pekerjaan untuk mengirimkan pekerjaan BSP XIHE secara sinkron.

Sintaksis

/*+ resource_group=<resource_group_name>*/ <Pernyataan SQL>;
  • resource_group_name: nama grup sumber daya pekerjaan.

  • Pernyataan SQL: pernyataan SQL. Anda harus menambahkan petunjuk ke setiap pernyataan SQL yang ingin Anda jalankan.

Contoh

/*+ resource_group=bsptest*/SELECT count(*) from test_db.ods_hudi;

Gunakan JDBC atau klien MySQL untuk mengirimkan pekerjaan BSP XIHE secara asinkron

Anda dapat menambahkan petunjuk, menentukan grup sumber daya pekerjaan, dan mengatur jenis pengiriman menjadi asinkron untuk mengirimkan pekerjaan BSP XIHE secara asinkron.

Sintaksis

/*+ resource_group=<resource_group_name>, query_submission_type=async*/ <Pernyataan SQL>;
  • resource_group_name: nama grup sumber daya pekerjaan.

  • query_submission_type=async: mengatur jenis pengiriman menjadi asinkron.

  • Pernyataan SQL: pernyataan SQL. Anda harus menambahkan petunjuk ke setiap pernyataan SQL yang ingin Anda jalankan.

Contoh

/*+ resource_group=bsptest, query_submission_type=async*/SELECT count(*) from test_db.ods_hudi;

Setelah Anda mengirimkan pekerjaan asinkron, ID pekerjaan akan dikembalikan. Setelah pekerjaan selesai, Anda dapat mengeksekusi pernyataan SHOW job result WHERE job='Job_id'; untuk menanyakan hasil eksekusi pernyataan SQL. Untuk informasi tentang cara menanyakan status pekerjaan asinkron, lihat bagian "Menanyakan status pekerjaan asinkron" dari topik Mengirimkan pekerjaan impor secara asinkron.

Konfigurasikan pekerjaan BSP XIHE

Anda dapat mengonfigurasi parameter untuk pekerjaan BSP XIHE, seperti jumlah sumber daya, periode timeout, dan prioritas.

Metode konfigurasi

Konfigurasi pekerjaan BSP dapat berlaku untuk satu pekerjaan, semua pekerjaan dalam satu grup sumber daya pekerjaan, atau semua pekerjaan dalam satu kluster.

Berlaku untuk satu pekerjaan

Untuk membuat konfigurasi pekerjaan BSP berlaku untuk satu pekerjaan, tambahkan petunjuk /*+ resource_group=<resource_group_name>,<config_name>*/ ke pernyataan SQL.

Dalam petunjuk, resource_group_name menentukan nama grup sumber daya. Untuk informasi lebih lanjut tentang config_name, lihat kolom Parameter di bagian "Parameter konfigurasi" dari topik ini.

Contoh: Konfigurasikan hingga 20 unit komputasi AnalyticDB (ACU) sumber daya yang tersedia untuk pekerjaan yang dijalankan dalam grup sumber daya pekerjaan bsptest.

/*+ resource_group=bsptest,elastic_job_max_acu=20*/SELECT count(*) from test_db.ods_hudi;

Berlaku dalam grup sumber daya pekerjaan

Untuk membuat konfigurasi pekerjaan BSP berlaku untuk semua pekerjaan dalam grup sumber daya pekerjaan, eksekusi pernyataan SET adb_config <resource_group_name>.<config_name>.

Dalam petunjuk, resource_group_name menentukan nama grup sumber daya. Untuk informasi lebih lanjut tentang config_name, lihat kolom Parameter di bagian "Parameter konfigurasi" dari topik ini.

Contoh: Konfigurasikan hingga 20 ACU sumber daya yang tersedia untuk setiap pekerjaan yang dijalankan dalam grup sumber daya pekerjaan bsptest.

SET adb_config bsptest.elastic_job_max_acu=20;

Periksa apakah konfigurasi berlaku

Untuk memeriksa apakah konfigurasi berlaku untuk semua pekerjaan dalam grup sumber daya, eksekusi pernyataan SHOW ADB_CONFIG KEY=<resource_group_name>.<config_name>.

Berlaku dalam kluster

Untuk membuat konfigurasi pekerjaan BSP berlaku untuk semua pekerjaan dalam kluster, eksekusi pernyataan SET adb_config <config_name>. Untuk informasi lebih lanjut tentang config_name, lihat kolom Parameter di bagian "Parameter konfigurasi" dari topik ini.

Contoh: Konfigurasikan hingga 20 ACU sumber daya yang tersedia untuk setiap pekerjaan yang dijalankan dalam kluster.

SET adb_config elastic_job_max_acu=20;

Periksa apakah konfigurasi berlaku

Untuk memeriksa apakah konfigurasi berlaku untuk semua pekerjaan dalam kluster, eksekusi pernyataan SHOW ADB_CONFIG KEY=<config_name>.

Parameter konfigurasi

Tabel berikut menjelaskan parameter yang dapat Anda konfigurasikan untuk pekerjaan BSP XIHE.

Kategori

Parameter

Deskripsi

Nilai default

Sumber daya

elastic_job_max_acu

Jumlah maksimum ACU yang dapat digunakan per pekerjaan BSP XIHE untuk node AppMaster dan node komputasi.

Nilai parameter ini tidak boleh melebihi jumlah ACU yang ditentukan untuk sumber daya komputasi maksimum dari grup sumber daya.

Catatan

Node AppMaster bertanggung jawab untuk penguraian, penjadwalan, dan eksekusi kueri.

9

Periode timeout

batch_query_timeout

Periode timeout pekerjaan BSP. Unit: milidetik. Jika pekerjaan BSP dijalankan selama periode waktu yang lebih lama daripada nilai parameter ini, pekerjaan akan dibatalkan secara otomatis.

7200000

Prioritas

query_priority

Prioritas pekerjaan BSP.

Nilai valid: HIGH, NORMAL, LOW, dan LOWEST.

Untuk informasi tentang antrian prioritas, lihat Antrian prioritas grup sumber daya pekerjaan.

NORMAL

FAQ

Bagaimana cara memeriksa status pekerjaan BSP?

  • Jika Anda mengirimkan pekerjaan BSP menggunakan editor SQL, Anda dapat memilih Job Development > SQL Development dan klik tab Execution Records untuk melihat status pekerjaan.

  • Jika Anda mengirimkan pekerjaan BSP tanpa menggunakan editor SQL, Anda dapat mengeksekusi pernyataan berikut untuk menanyakan status pekerjaan dari tabel information_schema.kepler_meta_elastic_job_list:

    SELECT status FROM information_schema.kepler_meta_elastic_job_list WHERE process_id='<job_id>';
    Catatan

    Tabel information_schema.kepler_meta_elastic_job_list menyimpan hingga 1.000 pekerjaan BSP yang dikirimkan dalam 30 hari terakhir. Anda dapat melakukan statistik dan analisis lebih lanjut seperti agregasi GROUP BY pada tabel. Contoh pernyataan berikut menunjukkan cara menanyakan jumlah pekerjaan BSP dalam setiap status:

    SELECT status,count(*) FROM information_schema.kepler_meta_elastic_job_list GROUP BY status;

Bagaimana saya menentukan apakah akan mengirimkan pekerjaan BSP secara sinkron atau asinkron?

Satu-satunya perbedaan antara pengiriman sinkron dan asinkron adalah apakah klien perlu menunggu eksekusi kueri selesai.

Pengiriman asinkron memiliki batasan berikut:

  • Set hasil dapat berisi hingga 10.000 baris data.

  • Sistem dapat menyimpan hingga 1.000 set hasil, termasuk URL unduhan file CSV, selama maksimal 30 hari.

Kami merekomendasikan Anda mengirimkan pekerjaan BSP secara asinkron untuk kueri yang mengonsumsi banyak daya komputasi, memerlukan waktu lama untuk diselesaikan, tetapi mengembalikan set hasil yang kecil. Contoh: INSERT INTO SELECT, INSERT OVERWRITE SELECT, dan CREATE TABLE AS SELECT.