Distribuera Apache Superset™
Viktig
Azure HDInsight på AKS drogs tillbaka den 31 januari 2025. Läs mer genom det här meddelandet.
Du måste migrera dina arbetsbelastningar till Microsoft Fabric- eller en motsvarande Azure-produkt för att undvika plötsliga uppsägningar av dina arbetsbelastningar.
Viktig
Den här funktionen är för närvarande i förhandsversion. 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. För frågor eller funktionsförslag, vänligen skicka en begäran på AskHDInsight med detaljerna och följ oss för fler uppdateringar om Azure HDInsight Community.
Visualisering är viktigt för att effektivt utforska, presentera och dela data. Med Apache Superset kan du köra frågor, visualisera och skapa instrumentpaneler över dina data i ett flexibelt webbgränssnitt.
Den här artikeln beskriver hur du distribuerar en Apache Superset UI-instans i Azure och ansluter den till Trino-klustret med HDInsight på AKS för att fråga efter data och skapa instrumentpaneler.
Sammanfattning av stegen i den här artikeln:
Förutsättningar
Om du använder Windows använder du Ubuntu på WSL2 för att köra dessa instruktioner i en Bash Shell Linux-miljö i Windows. Annars måste du ändra kommandon så att de fungerar i Windows.
Skapa ett Trino-kluster och tilldela en hanterad identitet
Om du inte redan har gjort det skapar du ett Trino-kluster med HDInsight på AKS.
För att Apache Superset ska kunna anropa Trino måste den ha en hanterad identitet (MSI). Skapa eller välj en befintlig användartilldelad hanterad identitet.
Ändra konfigurationen av Trino-klustret så att den hanterade identiteten som skapades i steg 2 kan köra frågor. Lär dig hur du hanterar åtkomst.
Installera lokala verktyg
Konfigurera Azure CLI.
a. Installera Azure CLI.
b. Logga in på Azure CLI:
az login
.c. Installera förhandsversionstillägget för Azure CLI.
# Install the aks-preview extension az extension add --name aks-preview # Update the extension to make sure you've the latest version installed az extension update --name aks-preview
Installera Kubernetes.
Installera Helm.
Skapa kubernetes-kluster för Apache Superset
Det här steget skapar AKS-klustret (Azure Kubernetes Service) där du kan installera Apache Superset. Du måste binda den hanterade identitet som du har associerat till klustret för att Superset ska kunna autentisera sig mot Trino-klustret med den identiteten.
Skapa följande variabler i bash för din Superset-installation.
# ----- Parameters ------ # The subscription ID where you want to install Superset SUBSCRIPTION= # Superset cluster name (visible only to you) CLUSTER_NAME=trinosuperset # Resource group containing the Azure Kubernetes service RESOURCE_GROUP_NAME=trinosuperset # The region to deploy Superset (ideally same region as Trino): to list regions: az account list-locations REGION=westus3 # The resource path of your managed identity. To get this resource path: # 1. Go to the Azure Portal and find your user assigned managed identity # 2. Select JSON View on the top right # 3. Copy the Resource ID value. MANAGED_IDENTITY_RESOURCE=
Välj den prenumeration där du ska installera Superset.
az account set --subscription $SUBSCRIPTION
Aktivera funktionen för poddidentitet i din aktuella prenumeration.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Skapa ett AKS-kluster för att distribuera Superset.
# Create resource group az group create --location $REGION --name $RESOURCE_GROUP_NAME # Create AKS cluster az \ aks create \ -g $RESOURCE_GROUP_NAME \ -n $CLUSTER_NAME \ --node-vm-size Standard_DS2_v2 \ --node-count 3 \ --enable-managed-identity \ --assign-identity $MANAGED_IDENTITY_RESOURCE \ --assign-kubelet-identity $MANAGED_IDENTITY_RESOURCE # Set the context of your new Kubernetes cluster az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
Distribuera Apache Superset
Det enklaste sättet är att konfigurera Superset för att använda Azure Managed Identity för att låta Superset kommunicera med Trino-klustret på ett säkert sätt. Det här steget innebär att klustret använder den identitet som du har tilldelat det utan manuell implementering eller hantering av hemligheter.
Du måste skapa en values.yaml-fil för Superset Helm-distributionen. Se exempelkod.
Valfri: använd Microsoft Azure Postgres i stället för att använda Postgres som distribuerats i Kubernetes-klustret.
Skapa en "Azure Database for PostgreSQL"-instans för att möjliggöra enklare underhåll, tillåta säkerhetskopieringar och ge bättre tillförlitlighet.
postgresql: enabled: false supersetNode: connections: db_host: '{{SERVER_NAME}}.postgres.database.azure.com' db_port: '5432' db_user: '{{POSTGRES_USER}}' db_pass: '{{POSTGRES_PASSWORD}}' db_name: 'postgres' # default db name for Azure Postgres
Lägg till andra avsnitt i values.yaml om det behövs. Superset-dokumentation rekommenderar att du ändrar standardlösenordet.
Distribuera Superset genom Helm.
# Verify you have the context of the right Kubernetes cluster kubectl cluster-info # Add the Superset repository helm repo add superset https://apache.github.io/superset # Deploy helm repo update helm upgrade --install --values values.yaml superset superset/superset
Anslut till Superset och skapa anslutning.
Notera
Du bör skapa separata anslutningar för varje Trino-katalog som du vill använda.
Anslut till Superset med portvidarebefordring.
kubectl port-forward service/superset 8088:8088 --namespace default
Öppna en webbläsare och gå till http://localhost:8088/. Om du inte har ändrat administratörslösenordet loggar du in med användarnamn: administratör, lösenord: administratör.
Välj "anslut databas" från plusmenyn "+" till höger.
Välj Trino.
Ange SQL Alchemy-URI:n för ditt Trino-kluster.
Du måste ändra tre delar av den här anslutningssträngen:
Egenskap Exempel Beskrivning användare trino@ Namnet före @-symbolen är användarnamnet som används för anslutning till Trino. värdnamn mytrinocluster.00000000000000000000000000
.eastus.hdinsightaks.netVärdnamnet för ditt Trino-kluster.
Du kan hämta den här informationen från sidan Översikt i klustret i Azure-portalen.katalog /tpch Efter snedstrecket är standardkatalognamnet.
Du måste ändra den här katalogen till katalogen som innehåller de data som du vill visualisera.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Exempel:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Välj fliken Avancerat och ange följande konfiguration i "Ytterligare säkerhet". Ersätt värdet client_id med GUID-klient-ID:t för din hanterade identitet (det här värdet finns på översiktssidan för den hanterade identitetsresursen i Azure-portalen).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Välj "Anslut".
Nu är du redo att skapa datauppsättningar och diagram.
Felsökning
Kontrollera att Trino-klustret har konfigurerats så att Superset-klustrets användartilldelade hanterade identitet kan ansluta. Du kan verifiera det här värdet genom att titta på resurs-JSON för ditt Trino-kluster (authorizationProfile/userIds). Kontrollera att du använder identitetens objekt-ID, inte klient-ID.
Kontrollera att det inte finns några misstag i anslutningskonfigurationen.
- Kontrollera att det "säkra extra" är ifyllt,
- Url:en är korrekt.
- Använd
tpch
-katalogen att testa med för att kontrollera att anslutningen fungerar innan du använder din egen katalog.
Nästa steg
Om du vill exponera Superset för internet och tillåta användarinloggning med Microsoft Entra-ID, behöver du utföra följande allmänna steg. De här stegen kräver en mellanliggande eller större erfarenhet av Kubernetes.