Önbelleğe almayı yapılandırma
Not
31 Ocak 2025'te AKS'de Azure HDInsight'ı kullanımdan kaldırmaya devam edeceğiz. 31 Ocak 2025'den önce, iş yüklerinizin aniden sonlandırılmasını önlemek için iş yüklerinizi Microsoft Fabric'e veya eşdeğer bir Azure ürününe geçirmeniz gerekir. Aboneliğinizdeki kalan kümeler durdurulur ve konaktan kaldırılır.
Kullanımdan kaldırma tarihine kadar yalnızca temel destek sağlanacaktır.
Önemli
Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.
Hive bağlayıcısını kullanarak nesne depolamayı sorgulamak, Trino için yaygın bir kullanım örneğidir. Bu işlem genellikle büyük miktarda veri göndermeyi içerir. Nesneler BIRDEN çok çalışan tarafından HDFS'den veya desteklenen başka bir nesne deposundan alınır ve bu çalışanlar tarafından işlenir. Farklı parametrelere sahip yinelenen sorgular, hatta farklı kullanıcılardan gelen farklı sorgular genellikle aynı nesnelere erişip aktarır.
AKS üzerinde HDInsight, Trino için aşağıdaki avantajları sağlayan nihai sonuç önbelleğe alma özelliği ekledi:
- Nesne depolama yükünü azaltın.
- Sorgu performansını geliştirin.
- Sorgu maliyetini azaltın.
Önbelleğe alma seçenekleri
Önbelleğe alma için farklı seçenekler:
- Nihai sonuç önbelleğe alma: Etkinleştirildiğinde (koordinatör bileşeni yapılandırma bölümünde), koordinatör VM'sindeki katalog önbellekleri için herhangi bir sorgunun sonucu.
- Hive/Iceberg/Delta Lake kataloğu önbelleğe alma: Etkinleştirildiğinde (ilgili türdeki belirli bir katalog için), çalışan VM'lerde küme içindeki her sorgu için bölünmüş veriler önbelleğe alınır.
Nihai sonuç önbelleğe alma
Nihai sonuç önbelleğe alma iki şekilde yapılandırılabilir:
- Azure portalı kullanarak
- ARM şablonunu kullanma
Kullanılabilir yapılandırma parametreleri şunlardır:
Özellik | Varsayılan | Açıklama |
---|---|---|
query.cache.enabled |
yanlış | Doğruysa nihai sonucu önbelleğe almayı etkinleştirir. |
query.cache.ttl |
- | Önbellek verilerinin çıkarmadan önce saklanmasına kadar olan süreyi tanımlar. Örneğin: "10m","1h" |
query.cache.disk-usage-percentage |
80 | Önbelleğe alınan veriler için kullanılan disk alanının yüzdesi. |
query.cache.max-result-data-size |
0 | Sonuç için maksimum veri boyutu. Bu değer aşılırsa sonuç önbelleğe alınmaz. |
Not
Sonuç önbelleğe alma işlemi, önbellek anahtarı olarak sorgu planını ve ttl'yi kullanır.
Nihai sonuç önbelleğe alma işlemi aşağıdaki oturum parametreleriyle de denetlenebilir:
Oturum parametresi | Varsayılan | Açıklama |
---|---|---|
query_cache_enabled |
Özgün yapılandırma değeri | Sorgu/oturum için nihai sonuç önbelleğe almayı etkinleştirir/devre dışı bırakır. |
query_cache_ttl |
Özgün yapılandırma değeri | Önbellek verilerinin çıkarmadan önce saklanmasına kadar olan süreyi tanımlar. |
query_cache_max_result_data_size |
Özgün yapılandırma değeri | Sonuç için maksimum veri boyutu. Bu değer aşılırsa sonuç önbelleğe alınmaz. |
query_cache_forced_refresh |
yanlış | true olarak ayarlandığında, sorgu yürütme sonucunu önbelleğe alınmaya zorlar; başka bir ifadeyle sonuç, varsa mevcut önbelleğe alınmış verilerin yerini alır). |
Not
Oturum parametreleri bir oturum için ayarlanabilir (örneğin, Trino CLI kullanılıyorsa) veya sorgu metni öncesinde çok deyimli olarak ayarlanabilir. Örneğin,
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;
Nihai sonuç önbelleğe alma, Yönetilen Prometheus ve Grafana kullanılarak görüntülenebilen JMX ölçümleri üretir. Aşağıdaki ölçümler kullanılabilir:
Metrik Sistem | Açıklama |
---|---|
trino_cache_cachestats_requestcount |
Önbellek katmanından geçen toplam sorgu sayısı. Bu sayı, önbellek kapalı olarak yürütülen sorguları içermez. |
trino_cache_cachestats_hitcount |
Önbellek isabet sayısı, yani veriler kullanılabilir olduğunda ve önbellekten döndürülürken yapılan sorgu sayısı. |
trino_cache_cachestats_misscount |
Veri kullanılamadığında ve önbelleğe alınması gerektiğinde önbellek kaçırma sayısı. |
trino_cache_cachestats_hitrate |
Toplam sorgu sayısına göre önbellek isabetlerinin yüzde gösterimi. |
trino_cache_cachestats_totalevictedcount |
Önbellekten çıkarılan önbelleğe alınmış sorguların sayısı. |
trino_cache_cachestats_totalbytesfromsource |
Kaynaktan okunan bayt sayısı. |
trino_cache_cachestats_totalbytesfromcache |
Önbellekten okunan bayt sayısı. |
trino_cache_cachestats_totalcachedbytes |
Önbelleğe alınan toplam bayt sayısı. |
trino_cache_cachestats_totalevictedbytes |
Çıkarılan toplam bayt sayısı. |
trino_cache_cachestats_spaceused |
Önbelleğin geçerli boyutu. |
trino_cache_cachestats_cachereadfailures |
Herhangi bir hata nedeniyle verilerin önbellekten okunamama sayısı. |
trino_cache_cachestats_cachewritefailures |
Herhangi bir hata nedeniyle verilerin önbelleğe yazılmama sayısı. |
Azure portalı kullanarak
Azure portalda oturum açın.
Azure portalı arama çubuğuna "AKS kümesinde HDInsight" yazın ve açılan listeden "AKS kümelerinde Azure HDInsight" öğesini seçin.
Liste sayfasından kümenizin adını seçin.
Yapılandırma Yönetimi dikey penceresine gidin.
config.properties -> Özel yapılandırmalar'a gidin ve Ekle'ye tıklayın.
Gerekli özellikleri ayarlayın ve Tamam'a tıklayın.
Yapılandırmayı kaydedin .
ARM şablonunu kullanma
Önkoşullar
- AKS üzerinde HDInsight ile operasyonel bir Trino kümesi.
- Kümeniz için ARM şablonu oluşturun.
- Tüm küme ARM şablonu örneğini gözden geçirin.
- ARM şablonu yazma ve dağıtma hakkında bilgi.
ARM şablonunun bölümündeki koordinatör bileşeninde properties.clusterProfile.serviceConfigsProfiles
özellikleri tanımlamanız gerekir.
Aşağıdaki örnekte özelliklerin nereye ekleneceği gösterilmektedir.
{
"$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"
}
}
]
}
]
}
]
}
}
}
]
}
Hive/Iceberg/Delta Lake önbelleğe alma
Üç bağlayıcı da Hive önbelleğinde açıklandığı gibi aynı parametre kümesini paylaşır.
Not
Bazı parametreler yapılandırılamaz ve her zaman varsayılan değerlerine ayarlanır:
hive.cache.data-transfer-port=8898,
hive.cache.bookkeeper-port=8899,
hive.cache.location=/etc/trino/cache,
hive.cache.disk-usage-percentage=80
Aşağıdaki örnek, ARM şablonunu kullanarak Hive önbelleğini etkinleştirmek için özelliklerin nereye ekleneceğini gösterir.
{
"$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"
}
}
]
}
]
}
]
}
}
}
]
}
Güncelleştirilmiş ARM şablonunu kümenizdeki değişiklikleri yansıtacak şekilde dağıtın. ARM şablonu dağıtmayı öğrenin.