Konfigurace ukládání do mezipaměti
Důležitý
31. ledna 2025 byl Azure HDInsight na AKS vyřazen. Zjistěte více s tímto oznámením.
Abyste se vyhnuli náhlému ukončení úloh, musíte migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure.
Důležitý
Tato funkce je aktuálně ve verzi Preview. doplňkové podmínky použití pro náhledové verze Microsoft Azure obsahují více právních podmínek, které se vztahují na funkce Azure, které jsou v beta, náhledu nebo jinak ještě nebyly vydány pro obecné použití. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight ve 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 pro další aktualizace v rámci komunity 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íky a zpracovávají se těmito pracovníky. 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 konečnou funkci ukládání do mezipaměti pro Trino, která poskytuje následující výhody:
- Snižte zatížení úložiště objektů.
- Zlepšte výkon 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 tato možnost povolená (v části konfigurace koordinační komponenty), výsledek pro jakýkoli dotaz 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 tato možnost povolená (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 |
falešný | 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 sezení | 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 |
falešný | Pokud je nastavená hodnota true, vynutí, aby byl výsledek spuštění dotazu uložen do mezipaměti, tedy nahradí existující data uložená v mezipaměti, pokud existují. |
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. Napří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í Managed Prometheus a Grafana. 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čet zásahů do mezipaměti, tj. počet dotazů, když byla data k dispozici a vrácena z mezipaměti. |
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 |
Procentuální vyjádření přístupů do mezipaměti oproti celkovému počtu dotazů. |
trino_cache_cachestats_totalevictedcount |
Počet dotazů odstraněný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ě |
Použití webu Azure Portal
Přihlaste se k webu Azure Portal.
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 na panel Configuration Management.
Přejděte na config.properties -> Vlastní konfigurace a potom klepněte na tlačítko Přidat.
Nastavte požadované vlastnosti a klepněte na tlačítko OK.
Uložte konfiguraci.
Použití šablony ARM
Požadavky
- Provozní cluster Trino se službou HDInsight v AKS.
- Vytvořte šablonu ARM pro váš cluster.
- Projděte si úplnou ukázku šablony clusteru ARM.
- Znalost vytváření a nasazování šablon ARM.
V properties.clusterProfile.serviceConfigsProfiles
části šablony ARM je potřeba definovat vlastnosti v koordinátorové komponentě.
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 caching
Všechny tři konektory sdílejí stejnou sadu parametrů, jak je popsáno v Hive cache.
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.