Konfigurace ukládání do mezipaměti
Poznámka:
Azure HDInsight vyřadíme ze služby AKS 31. ledna 2025. Před 31. lednem 2025 budete muset migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure, abyste se vyhnuli náhlému ukončení úloh. Zbývající clustery ve vašem předplatném se zastaví a odeberou z hostitele.
Do data vyřazení bude k dispozici pouze základní podpora.
Důležité
Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.
Dotazování na úložiště objektů pomocí konektoru Hive je běžným případem použití pro Trino. Tento proces často zahrnuje odesílání velkých objemů dat. Objekty se načítají z HDFS nebo jiného podporovaného úložiště objektů více pracovních procesů a zpracovávají se těmito pracovními procesy. Opakované dotazy s různými parametry nebo dokonce různé dotazy od různých uživatelů často přistupují ke stejným objektům a přenášejí je.
Služba HDInsight v AKS přidala funkci ukládání konečných výsledků do mezipaměti pro Trino, která poskytuje následující výhody:
- Snižte zatížení úložiště objektů.
- Zlepšení výkonu dotazů.
- Snižte náklady na dotazy.
Možnosti ukládání do mezipaměti
Různé možnosti ukládání do mezipaměti:
- Ukládání konečných výsledků do mezipaměti: Pokud je povoleno (v části konfigurace koordinačních komponent), výsledek pro všechny dotazy na všechny mezipaměti katalogu na koordinačním virtuálním počítači.
- Ukládání do mezipaměti katalogu Hive/ Iceberg/Delta Lake: Pokud je povoleno (pro konkrétní katalog odpovídajícího typu), rozdělte data pro každou mezipaměť dotazů v clusteru na pracovních virtuálních počítačích.
Ukládání konečných výsledků do mezipaměti
Ukládání konečných výsledků do mezipaměti je možné nakonfigurovat dvěma způsoby:
Dostupné parametry konfigurace jsou:
Vlastnost | Výchozí | Popis |
---|---|---|
query.cache.enabled |
false (nepravda) | Povolí ukládání konečných výsledků do mezipaměti, pokud je true. |
query.cache.ttl |
- | Definuje čas, kdy se data mezipaměti uchovávají před vyřazením. Příklad: "10m","1h" |
query.cache.disk-usage-percentage |
80 | Procento místa na disku použitého pro data uložená v mezipaměti |
query.cache.max-result-data-size |
0 | Maximální velikost dat pro výsledek Pokud tato hodnota překročíte, výsledek se neupamí. |
Poznámka:
Ukládání konečných výsledků do mezipaměti používá plán dotazu a hodnotu ttl jako klíč mezipaměti.
Ukládání konečných výsledků do mezipaměti lze také řídit pomocí následujících parametrů relace:
Parametr relace | Výchozí | Popis |
---|---|---|
query_cache_enabled |
Původní hodnota konfigurace | Povolí nebo zakáže ukládání konečných výsledků do mezipaměti pro dotaz nebo relaci. |
query_cache_ttl |
Původní hodnota konfigurace | Definuje čas, kdy se data mezipaměti uchovávají před vyřazením. |
query_cache_max_result_data_size |
Původní hodnota konfigurace | Maximální velikost dat pro výsledek Pokud tato hodnota překročíte, výsledek se neupamí. |
query_cache_forced_refresh |
false (nepravda) | Pokud je nastavená hodnota true, vynutí výsledek spuštění dotazu do mezipaměti, tedy nahradí existující data uložená v mezipaměti, pokud existuje). |
Poznámka:
Parametry relace je možné nastavit pro relaci (například pokud se používá rozhraní příkazového řádku Trino) nebo lze nastavit ve více příkazech před textem dotazu. Příklad:
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;
Ukládání konečných výsledků do mezipaměti vytváří metriky JMX, které je možné zobrazit pomocí spravovaného nástroje Prometheus a Grafany. K dispozici jsou následující metriky:
Metrický | Popis |
---|---|
trino_cache_cachestats_requestcount |
Celkový počet dotazů procházejících vrstvou mezipaměti Toto číslo nezahrnuje dotazy spuštěné s vypnutou mezipamětí. |
trino_cache_cachestats_hitcount |
Početpřístupch |
trino_cache_cachestats_misscount |
Počet zmeškaných mezipamětí, tj. počet dotazů, když data nebyla dostupná a musela být uložena do mezipaměti. |
trino_cache_cachestats_hitrate |
Procento znázornění přístupů do mezipaměti s celkovým počtem dotazů |
trino_cache_cachestats_totalevictedcount |
Počet dotazů uložených v mezipaměti vyřazených z mezipaměti |
trino_cache_cachestats_totalbytesfromsource |
Počet bajtů přečtených ze zdroje |
trino_cache_cachestats_totalbytesfromcache |
Počet bajtů načtených z mezipaměti |
trino_cache_cachestats_totalcachedbytes |
Celkový počet bajtů uložených v mezipaměti |
trino_cache_cachestats_totalevictedbytes |
Celkový počet vyřazených bajtů |
trino_cache_cachestats_spaceused |
Aktuální velikost mezipaměti. |
trino_cache_cachestats_cachereadfailures |
Kolikrát se data nedají číst z mezipaměti kvůli žádné chybě. |
trino_cache_cachestats_cachewritefailures |
Počet, kdy se data nedají zapsat do mezipaměti kvůli žádné chybě |
Pomocí webu Azure Portal
Přihlaste se na portál Azure.
Na panelu hledání na webu Azure Portal zadejte "HDInsight v clusteru AKS" a v rozevíracím seznamu vyberte Azure HDInsight v clusterech AKS.
Na stránce seznamu vyberte název clusteru.
Přejděte do okna Správa konfigurace.
Přejděte na config.properties –> Vlastní konfigurace a klikněte na tlačítko Přidat.
Nastavte požadované vlastnosti a klepněte na tlačítko OK.
Uložte konfiguraci.
Použití šablony Resource Manageru
Požadavky
- Provozní cluster Trino se službou HDInsight v AKS.
- Vytvořte šablonu ARM pro váš cluster.
- Projděte si kompletní ukázku šablony ARM clusteru.
- Znalost vytváření a nasazování šablon ARM
V šabloně ARM je potřeba definovat vlastnosti v koordinátorové komponentě properties.clusterProfile.serviceConfigsProfiles
.
Následující příklad ukazuje, kam přidat vlastnosti.
{
"$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 – ukládání do mezipaměti
Všechny tři konektory sdílejí stejnou sadu parametrů, jak je popsáno v ukládání do mezipaměti Hive .
Poznámka:
Některé parametry nejsou konfigurovatelné a vždy se nastavují na výchozí hodnoty:
hive.cache.data-transfer-port=8898,
hive.cache.bookkeeper-port=8899,
hive.cache.location=/etc/trino/cache,
hive.cache.disk-usage-percentage=80
Následující příklad ukazuje, kde přidat vlastnosti pro povolení ukládání Hive do mezipaměti pomocí šablony 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"
}
}
]
}
]
}
]
}
}
}
]
}
Nasaďte aktualizovanou šablonu ARM tak, aby odrážela změny v clusteru. Zjistěte, jak nasadit šablonu ARM.