Mengonfigurasi cache
Catatan
Kami akan menghentikan Azure HDInsight di AKS pada 31 Januari 2025. Sebelum 31 Januari 2025, Anda harus memigrasikan beban kerja anda ke Microsoft Fabric atau produk Azure yang setara untuk menghindari penghentian tiba-tiba beban kerja Anda. Kluster yang tersisa pada langganan Anda akan dihentikan dan dihapus dari host.
Hanya dukungan dasar yang akan tersedia hingga tanggal penghentian.
Penting
Fitur ini masih dalam mode pratinjau. Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure mencakup lebih banyak persyaratan hukum yang berlaku untuk fitur Azure yang dalam versi beta, dalam pratinjau, atau belum dirilis ke ketersediaan umum. Untuk informasi tentang pratinjau khusus ini, lihat Azure HDInsight pada informasi pratinjau AKS. Untuk pertanyaan atau saran fitur, kirimkan permintaan di AskHDInsight dengan detail dan ikuti kami untuk pembaruan lebih lanjut di Komunitas Azure HDInsight.
Mengkueri penyimpanan objek menggunakan konektor Apache Hive adalah kasus penggunaan umum untuk Trino. Proses ini sering melibatkan pengiriman data dalam jumlah besar. Objek diambil dari HDFS atau penyimpanan objek lain yang didukung oleh beberapa pekerja dan diproses oleh pekerja tersebut. Kueri berulang dengan parameter yang berbeda, atau bahkan kueri yang berbeda dari pengguna yang berbeda, sering mengakses dan mentransfer objek yang sama.
HDInsight pada AKS menambahkan kemampuan penembolokan hasil akhir untuk Trino, yang memberikan manfaat berikut:
- Kurangi beban pada penyimpanan objek.
- Meningkatkan performa kueri.
- Kurangi biaya kueri.
Opsi penembolokan
Opsi berbeda untuk penembolokan:
- Penembolokan hasil akhir: Saat diaktifkan (di bagian konfigurasi komponen koordinator), hasil untuk kueri apa pun untuk cache katalog apa pun pada VM koordinator.
- Penembolokan katalog Apache Hive/Iceberg/Delta Lake: Saat diaktifkan (untuk katalog tertentu dari jenis yang sesuai), data terpisah untuk setiap cache kueri dalam kluster pada VM pekerja.
Penembolokan hasil akhir
Penembolokan hasil akhir dapat dikonfigurasi dengan dua cara:
Parameter konfigurasi yang tersedia adalah:
Properti | Default | Deskripsi |
---|---|---|
query.cache.enabled |
salah | Mengaktifkan penembolokan hasil akhir jika benar. |
query.cache.ttl |
- | Menentukan waktu sampai data cache disimpan sebelum pengeluaran. Misalnya: "10m","1h" |
query.cache.disk-usage-percentage |
80 | Persentase ruang disk yang digunakan untuk data cache. |
query.cache.max-result-data-size |
0 | Ukuran data maksimum untuk hasilnya. Jika nilai ini terlampaui, hasilnya tidak akan di-cache. |
Catatan
Penembolokan hasil akhir menggunakan rencana kueri dan ttl sebagai kunci cache.
Penembolokan hasil akhir juga dapat dikontrol melalui parameter sesi berikut:
Parameter sesi | Default | Deskripsi |
---|---|---|
query_cache_enabled |
Nilai konfigurasi asli | Mengaktifkan/menonaktifkan penembolokan hasil akhir untuk kueri/sesi. |
query_cache_ttl |
Nilai konfigurasi asli | Menentukan waktu sampai data cache disimpan sebelum pengeluaran. |
query_cache_max_result_data_size |
Nilai konfigurasi asli | Ukuran data maksimum untuk hasilnya. Jika nilai ini terlampaui, hasilnya tidak akan di-cache. |
query_cache_forced_refresh |
salah | Ketika diatur ke true, memaksa hasil eksekusi kueri untuk di-cache yaitu, hasilnya menggantikan data cache yang ada jika ada). |
Catatan
Parameter sesi dapat diatur untuk sesi (misalnya, jika Trino CLI digunakan) atau dapat diatur dalam multi-pernyataan sebelum teks kueri. Contohnya,
set session query_cache_enabled=true;
select cust.name, *
from tpch.tiny.orders
join tpch.tiny.customer as cust on cust.custkey = orders.custkey
order by cust.name
limit 10;
Penembolokan hasil akhir menghasilkan metrik JMX yang dapat dilihat menggunakan Prometheus Terkelola dan Grafana. Metrik berikut tersedia:
Metrik | Deskripsi |
---|---|
trino_cache_cachestats_requestcount |
Jumlah total kueri yang melewati lapisan cache. Angka ini tidak menyertakan kueri yang dijalankan dengan cache nonaktif. |
trino_cache_cachestats_hitcount |
Jumlah hit cache yaitu jumlah kueri saat data tersedia dan dikembalikan dari cache. |
trino_cache_cachestats_misscount |
Jumlah cache yang terlewatkan yaitu jumlah kueri saat data tidak tersedia dan harus di-cache. |
trino_cache_cachestats_hitrate |
Persentase representasi hit cache terhadap jumlah total kueri. |
trino_cache_cachestats_totalevictedcount |
Jumlah kueri cache yang dikeluarkan dari cache. |
trino_cache_cachestats_totalbytesfromsource |
Jumlah byte yang dibaca dari sumber. |
trino_cache_cachestats_totalbytesfromcache |
Jumlah byte yang dibaca dari cache. |
trino_cache_cachestats_totalcachedbytes |
Jumlah total byte yang di-cache. |
trino_cache_cachestats_totalevictedbytes |
Jumlah total byte yang dikeluarkan. |
trino_cache_cachestats_spaceused |
Ukuran cache saat ini. |
trino_cache_cachestats_cachereadfailures |
Berapa kali data tidak dapat dibaca dari cache karena kesalahan apa pun. |
trino_cache_cachestats_cachewritefailures |
Berapa kali data tidak dapat ditulis ke dalam cache karena kesalahan apa pun. |
Menggunakan portal Azure
Masuk ke portal Microsoft Azure.
Di bilah pencarian portal Azure, ketik "HDInsight di kluster AKS" dan pilih "Azure HDInsight pada kluster AKS" dari daftar drop-down.
Pilih nama kluster Anda dari halaman daftar.
Navigasikan ke bilah Manajemen Konfigurasi.
Buka config.properties -> Konfigurasi kustom lalu klik Tambahkan.
Atur properti yang diperlukan, dan klik OK.
Simpan konfigurasi.
Menggunakan templat ARM
Prasyarat
- Kluster Trino operasional dengan HDInsight di AKS.
- Buat templat ARM untuk kluster Anda.
- Tinjau sampel templat ARM kluster lengkap.
- Keakraban dengan penulisan dan penyebaran templat ARM.
Anda perlu menentukan properti dalam komponen koordinator di properties.clusterProfile.serviceConfigsProfiles
bagian dalam templat ARM.
Contoh berikut menunjukkan tempat untuk menambahkan properti.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"resources": [
{
"type": "microsoft.hdinsight/clusterpools/clusters",
"apiVersion": "<api-version>",
"name": "<cluster-pool-name>/<cluster-name>",
"location": "<region, e.g. westeurope>",
"tags": {},
"properties": {
"clusterType": "Trino",
"clusterProfile": {
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "coordinator",
"files": [
{
"fileName": "config.properties",
"values": {
"query.cache.enabled": "true",
"query.cache.ttl": "10m"
}
}
]
}
]
}
]
}
}
}
]
}
Penembolokan Apache Hive/Iceberg/Delta Lake
Ketiga konektor berbagi sekumpulan parameter yang sama seperti yang dijelaskan dalam penembolokan Apache Hive .
Catatan
Parameter tertentu tidak dapat dikonfigurasi dan selalu diatur ke nilai defaultnya:
hive.cache.data-transfer-port=8898,
hive.cache.bookkeeper-port=8899,
hive.cache.location=/etc/trino/cache,
hive.cache.disk-usage-percentage=80
Contoh berikut menunjukkan tempat menambahkan properti untuk mengaktifkan penembolokan Apache Hive menggunakan templat ARM.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"resources": [
{
"type": "microsoft.hdinsight/clusterpools/clusters",
"apiVersion": "<api-version>",
"name": "<cluster-pool-name>/<cluster-name>",
"location": "<region, e.g. westeurope>",
"tags": {},
"properties": {
"clusterType": "Trino",
"clusterProfile": {
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "catalogs",
"files": [
{
"fileName": "hive1.properties",
"values": {
"connector.name": "hive"
"hive.cache.enabled": "true",
"hive.cache.ttl": "5d"
}
}
]
}
]
}
]
}
}
}
]
}
Sebarkan templat ARM yang diperbarui untuk mencerminkan perubahan di kluster Anda. Pelajari cara menyebarkan templat ARM.