Konfigurera cachelagring
Kommentar
Vi drar tillbaka Azure HDInsight på AKS den 31 januari 2025. Före den 31 januari 2025 måste du migrera dina arbetsbelastningar till Microsoft Fabric eller en motsvarande Azure-produkt för att undvika plötsliga uppsägningar av dina arbetsbelastningar. Återstående kluster i din prenumeration stoppas och tas bort från värden.
Endast grundläggande stöd kommer att vara tillgängligt fram till datumet för pensionering.
Viktigt!
Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.
Att fråga efter objektlagring med hive-anslutningsappen är ett vanligt användningsfall för Trino. Den här processen innebär ofta att stora mängder data skickas. Objekt hämtas från HDFS eller ett annat objektarkiv som stöds av flera arbetare och bearbetas av dessa arbetare. Upprepade frågor med olika parametrar, eller till och med olika frågor från olika användare, får ofta åtkomst till och överför samma objekt.
HDInsight på AKS har lagt till cachelagring av slutresultatet för Trino, vilket ger följande fördelar:
- Minska belastningen på objektlagring.
- Förbättra frågeprestandan.
- Minska frågekostnaden.
Alternativ för cachelagring
Olika alternativ för cachelagring:
- Slutresultatcachelagring: När det är aktiverat (i avsnittet konfiguration av koordinatorkomponent) visas ett resultat för alla frågor för alla katalogcacheminnen på en virtuell koordinatordator.
- Cachelagring av Hive/Iceberg/Delta Lake-katalogen: När den är aktiverad (för en specifik katalog av motsvarande typ) cachelagrar en delad data för varje fråga i klustret på virtuella arbetsdatorer.
Cachelagring av slutresultatet
Cachelagring av slutresultatet kan konfigureras på två sätt:
Tillgängliga konfigurationsparametrar är:
Property | Standardvärde | beskrivning |
---|---|---|
query.cache.enabled |
falskt | Aktiverar cachelagring av slutresultatet om det är sant. |
query.cache.ttl |
- | Definierar en tid tills cachedata sparas före borttagningen. Till exempel: "10m",1h" |
query.cache.disk-usage-percentage |
80 | Procentandel diskutrymme som används för cachelagrade data. |
query.cache.max-result-data-size |
0 | Maximal datastorlek för ett resultat. Om det här värdet har överskridits cachelagras inte resultatet. |
Kommentar
Cachelagring med slutresultat använder frågeplan och ttl som cachenyckel.
Cachelagring av slutresultatet kan också styras via följande sessionsparametrar:
Sessionsparameter | Standardvärde | beskrivning |
---|---|---|
query_cache_enabled |
Ursprungligt konfigurationsvärde | Aktiverar/inaktiverar cachelagring av slutresultatet för en fråga/session. |
query_cache_ttl |
Ursprungligt konfigurationsvärde | Definierar en tid tills cachedata sparas före borttagningen. |
query_cache_max_result_data_size |
Ursprungligt konfigurationsvärde | Maximal datastorlek för ett resultat. Om det här värdet har överskridits cachelagras inte resultatet. |
query_cache_forced_refresh |
falskt | När värdet är true tvingar resultatet av frågekörningen att cachelagras, d.s.a. resultatet ersätter befintliga cachelagrade data om det finns). |
Kommentar
Sessionsparametrar kan ställas in för en session (till exempel om Trino CLI används) eller kan anges i multi-instruktion före frågetext. Ett exempel:
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;
Cachelagring av slutresultat genererar JMX-mått som kan visas med hjälp av Managed Prometheus och Grafana. Följande mått är tillgängliga:
Mätvärde | Beskrivning |
---|---|
trino_cache_cachestats_requestcount |
Totalt antal frågor som går igenom cachelagret. Det här numret inkluderar inte frågor som körs med cache av. |
trino_cache_cachestats_hitcount |
Antalet cacheträffar, dvs. antalet frågor när data var tillgängliga och returnerade från cacheminnet. |
trino_cache_cachestats_misscount |
Antal cachemissar, dvs. antal frågor när data inte var tillgängliga och måste cachelagras. |
trino_cache_cachestats_hitrate |
Procentuell representation av cacheträffar mot det totala antalet frågor. |
trino_cache_cachestats_totalevictedcount |
Antal cachelagrade frågor som avlägsnats från cacheminnet. |
trino_cache_cachestats_totalbytesfromsource |
Antal byte som lästs från källan. |
trino_cache_cachestats_totalbytesfromcache |
Antal byte som lästs från cacheminnet. |
trino_cache_cachestats_totalcachedbytes |
Totalt antal cachelagrade byte. |
trino_cache_cachestats_totalevictedbytes |
Totalt antal borttagna byte. |
trino_cache_cachestats_spaceused |
Cachens aktuella storlek. |
trino_cache_cachestats_cachereadfailures |
Antal gånger då data inte kan läsas från cacheminnet på grund av något fel. |
trino_cache_cachestats_cachewritefailures |
Antal gånger då data inte kan skrivas in i cacheminnet på grund av något fel. |
Med Azure-portalen
Logga in på Azure-portalen.
I sökfältet Azure Portal skriver du "HDInsight på AKS-kluster" och väljer "Azure HDInsight på AKS-kluster" i listrutan.
Välj klusternamnet på listsidan.
Gå till bladet Konfigurationshantering .
Gå till config.properties –> Anpassade konfigurationer och klicka sedan på Lägg till.
Ange de egenskaper som krävs och klicka på OK.
Spara konfigurationen.
Använda ARM-mall
Förutsättningar
- Ett fungerande Trino-kluster med HDInsight på AKS.
- Skapa ARM-mall för klustret.
- Granska det fullständiga arm-mallexemplet för klustret.
- Kunskaper om redigering och distribution av ARM-mallar.
Du måste definiera egenskaperna i koordinatorkomponenten i properties.clusterProfile.serviceConfigsProfiles
avsnittet i ARM-mallen.
I följande exempel visas var du kan lägga till egenskaperna.
{
"$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"
}
}
]
}
]
}
]
}
}
}
]
}
Cachelagring av Hive/Iceberg/Delta Lake
Alla tre anslutningsapparna delar samma uppsättning parametrar som beskrivs i Hive-cachelagring .
Kommentar
Vissa parametrar kan inte konfigureras och anges alltid till standardvärdena:
hive.cache.data-transfer-port=8898,
hive.cache.bookkeeper-port=8899,
hive.cache.location=/etc/trino/cache,
hive.cache.disk-usage-percentage=80
I följande exempel visas var du kan lägga till egenskaperna för att aktivera Hive-cachelagring med hjälp av ARM-mallen.
{
"$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"
}
}
]
}
]
}
]
}
}
}
]
}
Distribuera den uppdaterade ARM-mallen för att återspegla ändringarna i klustret. Lär dig hur du distribuerar en ARM-mall.