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
Gunakan JDBC atau klien MySQL untuk mengirimkan pekerjaan BSP XIHE secara sinkron
Gunakan JDBC atau klien MySQL untuk mengirimkan pekerjaan BSP XIHE 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 |
| 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 |
| 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 |
| 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 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>';CatatanTabel
information_schema.kepler_meta_elastic_job_listmenyimpan 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.