AnalyticDB for MySQL mendukung pengiriman pekerjaan XIHE BSP SQL melalui Editor pengembangan SQL atau JDBC. Topik ini menjelaskan kasus penggunaan, metode pengiriman, parameter konfigurasi, serta pertanyaan umum (FAQ) terkait pengembangan pekerjaan XIHE BSP SQL.
Prasyarat
Kelompok sumber daya pekerjaan telah dibuat untuk kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse.
Akun database telah dibuat untuk kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse.
Kasus penggunaan
Mesin XIHE BSP mengeksekusi pekerjaan XIHE BSP SQL, yang cocok untuk skenario ETL, kueri besar, dan kueri prioritas rendah yang bersifat bursty. Untuk informasi lebih lanjut tentang mesin XIHE BSP, lihat compute engine.
Skenario ETL
Gambar berikut menunjukkan proses ETL yang khas.
Operasi pembersihan dan transformasi data pada set data besar antara sumber data dan lapisan ADS sering kali membutuhkan waktu lama untuk diselesaikan. Untuk pekerjaan semacam ini, waktu respons bukanlah pertimbangan utama; sebaliknya, keandalan tinggi diperlukan untuk memastikan seluruh proses ELT selesai sebelum tenggat waktu tertentu. Sistem juga harus mendukung fitur seperti retry otomatis. Anda dapat menjalankan kueri ini menggunakan mesin XIHE BSP untuk memanfaatkan throughput tinggi, keandalan tinggi, dan biaya rendahnya.
Kueri pada lapisan ADS biasanya lebih sensitif terhadap waktu respons, sering kali memerlukan tanggapan dalam hitungan detik atau bahkan milidetik. Anda dapat menjalankan kueri ini menggunakan mesin XIHE MPP untuk memanfaatkan kecepatannya yang lebih tinggi.
Kueri besar untuk mesin BSP
Karena keterbatasan XIHE MPP, beberapa kueri besar dapat menyebabkan error out-of-memory (OOM) atau eksepsi kueri lainnya. Untuk menjalankan kueri ini di mesin XIHE MPP, Anda harus melakukan scale-up kluster dengan menambahkan lebih banyak resource, yang tidak efisien dari segi biaya. Dalam kasus ini, Anda dapat menggunakan mesin XIHE BSP untuk menjalankan kueri tersebut. Kueri dijalankan dalam kelompok sumber daya pekerjaan tertentu dan melakukan spill data ke disk, sehingga lebih sesuai untuk kueri besar. Selain itu, sumber daya untuk kelompok sumber daya pekerjaan diminta dan ditagih sesuai kebutuhan (on-demand), yang menurunkan biaya.
Kueri prioritas rendah yang bersifat bursty
Kueri prioritas rendah biasanya tidak sensitif terhadap waktu respons. Namun, jika sejumlah besar kueri ini dikirimkan sekaligus, mereka dapat menghabiskan sumber daya sistem dan memengaruhi eksekusi kueri lainnya. Untuk mengatasi masalah ini, Anda dapat menjalankan kueri prioritas rendah ini dalam kelompok sumber daya pekerjaan menggunakan mesin XIHE BSP. Pendekatan ini mengisolasi sumber daya, mengurangi tekanan sumber daya pada sistem, dan mencegah kueri saling memengaruhi.
Batasan
-
Mesin XIHE BSP tidak mendukung penulisan ke tabel Hudi.
-
Mesin XIHE BSP tidak mendukung pembacaan dari atau penulisan ke tabel Delta.
Mengembangkan pekerjaan XIHE BSP
Anda dapat mengembangkan pekerjaan XIHE BSP menggunakan salah satu metode berikut.
Editor pengembangan SQL
Pengiriman sinkron
Pengiriman asinkron
Konfigurasi pekerjaan XIHE BSP
Anda dapat mengonfigurasi sumber daya, timeout default, dan prioritas untuk pekerjaan XIHE BSP.
Metode konfigurasi
Anda dapat menerapkan pengaturan konfigurasi ke satu pekerjaan BSP saja, semua pekerjaan dalam kelompok sumber daya pekerjaan tertentu, atau semua pekerjaan dalam sebuah kluster.
Untuk satu pekerjaan
Agar konfigurasi hanya berlaku untuk satu pekerjaan, tambahkan hint /*+ resource_group=<resource_group_name>,<config_name>*/ ke Pernyataan SQL.
Dalam hint tersebut, resource_group_name adalah nama kelompok sumber daya dan config_name adalah parameter dari daftar Configuration parameters.
Contoh: Untuk membatasi pekerjaan dalam kelompok sumber daya pekerjaan bernama bsptest hingga maksimal 20 ACU:
/*+ resource_group=bsptest,elastic_job_max_acu=20*/SELECT count(*) from test_db.ods_hudi;
Untuk kelompok sumber daya
Agar konfigurasi berlaku untuk semua pekerjaan yang dijalankan dalam kelompok sumber daya pekerjaan, jalankan pernyataan SET adb_config <resource_group_name>.<config_name>.
Dalam pernyataan tersebut, resource_group_name adalah nama kelompok sumber daya dan config_name adalah parameter dari daftar Configuration parameters.
Contoh: Perintah ini membatasi setiap pekerjaan yang dijalankan dalam kelompok sumber daya pekerjaan bernama bsptest hingga maksimal 20 ACU.
SET adb_config bsptest.elastic_job_max_acu=20;
Verifikasi Konfigurasi
Untuk memverifikasi bahwa konfigurasi telah diterapkan ke kelompok sumber daya, jalankan pernyataan SHOW ADB_CONFIG KEY=<resource_group_name>.<config_name>.
Untuk kluster
Agar konfigurasi berlaku untuk semua pekerjaan yang dijalankan dalam kluster, jalankan pernyataan SET adb_config <config_name>. config_name adalah parameter dari daftar Configuration parameters.
Contoh: Perintah ini membatasi setiap pekerjaan yang dijalankan dalam kluster hingga maksimal 20 ACU.
SET adb_config elastic_job_max_acu=20;
Verifikasi Konfigurasi
Untuk memverifikasi bahwa konfigurasi telah diterapkan ke kluster, jalankan pernyataan SHOW ADB_CONFIG KEY=<config_name>.
Parameter
Tabel berikut menjelaskan parameter yang dapat Anda konfigurasikan untuk pekerjaan XIHE BSP.
|
Kategori |
Parameter |
Deskripsi |
Default |
|
Resource |
|
Jumlah maksimum ACU yang dapat digunakan oleh satu pekerjaan XIHE BSP. Ini mencakup AppMaster dan node komputasi. Nilai ini tidak boleh melebihi jumlah maksimum ACU yang dialokasikan ke kelompok sumber daya. Catatan
AppMaster adalah node yang mengurai kueri serta menjadwalkan dan mengeksekusi pekerjaan. |
9 |
|
Timeout |
|
Timeout untuk pekerjaan BSP, dalam milidetik (ms). Jika pekerjaan berjalan lebih lama dari nilai ini, sistem akan membatalkannya secara otomatis. |
7200000 |
|
Priority |
|
Prioritas pekerjaan BSP. Nilai yang valid: HIGH, NORMAL, LOW, dan LOWEST. Untuk informasi lebih lanjut tentang priority queue, lihat Priority queue of a job resource group. |
NORMAL |
FAQ
Lihat status pekerjaan BSP
-
Jika Anda mengirimkan pekerjaan BSP dari Editor pengembangan SQL, buka halaman dan lihat status pekerjaan di tab Execution Records.
-
Jika Anda mengirimkan pekerjaan BSP menggunakan metode lain, Anda dapat mengkueri statusnya dari tabel
information_schema.kepler_meta_elastic_job_listdengan menjalankan pernyataan berikut:SELECT status FROM information_schema.kepler_meta_elastic_job_list WHERE process_id='<job_id>';CatatanTabel
information_schema.kepler_meta_elastic_job_listmenyimpan hingga 1.000 pekerjaan BSP yang dikirimkan dalam 30 hari terakhir. Anda dapat melakukan analisis statistik lebih lanjut, seperti agregasi, pada tabel ini. Contoh berikut menunjukkan cara menghitung jumlah pekerjaan BSP berdasarkan status:SELECT status,count(*) FROM information_schema.kepler_meta_elastic_job_list GROUP BY status;
Pengiriman sinkron vs. asinkron
Pengiriman sinkron dan asinkron menyediakan fitur yang sama. Satu-satunya perbedaan adalah apakah client harus menunggu hingga kueri selesai.
Pengiriman asinkron memiliki batasan berikut:
-
Set hasil dapat berisi maksimal 10.000 baris.
-
Maksimal 1.000 set hasil, termasuk tautan unduh file CSV-nya, disimpan selama maksimal 30 hari.
Pengiriman asinkron direkomendasikan untuk kueri yang berjalan lama dan komputasi-intensif yang menghasilkan set hasil kecil, seperti INSERT INTO SELECT, INSERT OVERWRITE SELECT, dan CREATE TABLE AS SELECT.