Bereitstellen von Apache Superset™
Wichtig
Azure HDInsight auf AKS wurde am 31. Januar 2025 eingestellt. Erfahren Sie mehr mit dieser Ankündigung.
Sie müssen Ihre Workloads zu Microsoft Fabric oder ein gleichwertiges Azure-Produkt migrieren, um eine abrupte Beendigung Ihrer Workloads zu vermeiden.
Wichtig
Dieses Feature befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure Previews weitere rechtliche Bestimmungen enthalten, die für Azure-Features gelten, die in der Betaversion, in der Vorschau oder auf andere Weise noch nicht in die allgemeine Verfügbarkeit veröffentlicht werden. Informationen zu dieser spezifischen Vorschau finden Sie unter Azure HDInsight auf AKS-Vorschauinformationen. Für Fragen oder Funktionsvorschläge senden Sie bitte eine Anfrage mit den Details an AskHDInsight und folgen Sie uns, um weitere Updates zur Azure HDInsight Communityzu erhalten.
Die Visualisierung ist unerlässlich, um Daten effektiv zu untersuchen, zu präsentieren und zu teilen. Apache Superset ermöglicht es Ihnen, Abfragen auszuführen, Zu visualisieren und Dashboards über Ihre Daten in einer flexiblen Web-UI zu erstellen.
In diesem Artikel wird beschrieben, wie Sie eine Apache Superset-UI-Instanz in Azure bereitstellen und mit dem Trino-Cluster mit HDInsight auf AKS verbinden, um Daten abzufragen und Dashboards zu erstellen.
Zusammenfassung der in diesem Artikel behandelten Schritte:
- Voraussetzungen.
- Kubernetes-Cluster für Apache Superseterstellen.
- Apache Supersetbereitstellen.
Voraussetzungen
Wenn Sie Windows verwenden, verwenden Sie Ubuntu auf WSL2-, um diese Anweisungen in einer Bash-Shell-Linux-Umgebung in Windows auszuführen. Andernfalls müssen Sie Befehle ändern, damit sie in Windows funktionieren.
Erstellen eines Trino-Clusters und Zuweisen einer verwalteten Identität
Sollte dies noch nicht geschehen sein, erstellen Sie einen Trino-Cluster mit HDInsight auf AKS.
Damit Apache Superset Trino aufruft, muss er über eine verwaltete Identität (MSI) verfügen. Erstellen oder auswählen einer bestehenden benutzerzugewiesenen verwalteten Identität.
Ändern Sie Ihre Trino-Clusterkonfiguration so, dass die in Schritt 2 erstellte verwaltete Identität Abfragen ausführen kann. Erfahren Sie, wie Sie den Zugriffverwalten.
Installieren lokaler Tools
Einrichten der Azure CLI.
ein. Installieren Sie Azure CLI.
b. Melden Sie sich bei der Azure CLI an:
az login
.c. Installieren Sie die Azure CLI-Vorschauerweiterung.
# 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
Installieren Sie Kubernetes.
Installieren Sie Helm.
Erstellen eines Kubernetes-Clusters für Apache Superset
Dieser Schritt erstellt den Azure Kubernetes Service (AKS)-Cluster, in dem Sie Apache Superset installieren können. Sie müssen die verwaltete Identität, die Sie dem Cluster zugeordnet haben, binden, damit das Superset sich mit diesem Trino-Cluster mit dieser Identität authentifizieren kann.
Erstellen Sie die folgenden Variablen in bash für Ihre 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=
Wählen Sie das Abonnement aus, in dem Sie Superset installieren möchten.
az account set --subscription $SUBSCRIPTION
Aktivieren Sie das Feature "Pod-Identität" in Ihrem aktuellen Abonnement.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Erstellen Sie einen AKS-Cluster zum Bereitstellen von 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
Bereitstellen von Apache Superset
Damit Superset sicher mit Dem Trino-Cluster kommunizieren kann, besteht die einfachste Möglichkeit darin, Superset für die Verwendung der azure Managed Identity einzurichten. Dieser Schritt bedeutet, dass Ihr Cluster die Identität verwendet, die Sie ihm zugewiesen haben, ohne dass geheime Schlüssel manuell bereitgestellt oder durchlaufen werden.
Sie müssen eine datei values.yaml für die Superset Helm-Bereitstellung erstellen. Siehe Beispielcode.
Optionaler: Verwenden Sie Microsoft Azure PostgreSQL, anstatt das im Kubernetes-Cluster bereitgestellte PostgreSQL zu verwenden.
Erstellen Sie eine Instanz "Azure Database for PostgreSQL", um eine einfachere Wartung zu ermöglichen, Sicherungen zu ermöglichen und eine bessere Zuverlässigkeit zu bieten.
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
Fügen Sie bei Bedarf weitere Abschnitte der werte.yaml hinzu. Superset-Dokumentation empfiehlt das Ändern des Standardkennworts.
Implementieren Sie Superset mit 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
Stellen Sie eine Verbindung mit Superset her, und erstellen Sie eine Verbindung.
Anmerkung
Sie sollten separate Verbindungen für jeden Trino-Katalog erstellen, den Sie verwenden möchten.
Stellen Sie mithilfe der Portweiterleitung eine Verbindung mit Superset her.
kubectl port-forward service/superset 8088:8088 --namespace default
Öffnen Sie einen Webbrowser, und wechseln Sie zu http://localhost:8088/. Wenn Sie das Administratorkennwort nicht geändert haben, melden Sie sich mit Benutzername: Administrator, Kennwort: Administrator an.
Wählen Sie im Plusmenü "+" auf der rechten Seite "Datenbank verbinden" aus.
Wählen Sie Trinoaus.
Geben Sie den SQL Alchemy-URI Ihres Trino-Clusters ein.
Sie müssen drei Teile dieser Verbindungszeichenfolge ändern:
Eigentum Beispiel Beschreibung Benutzer trino@ Der Name vor dem @-Symbol ist der Benutzername, der für die Verbindung mit Trino verwendet wird. Hostname mytrinocluster.00000000000000000000000000
.eastus.hdinsightaks.netDer Hostname Ihres Trino-Clusters.
Sie können diese Informationen über die Seite "Übersicht" Ihres Clusters im Azure-Portal abrufen.Katalog /tpch Nach dem Schrägstrich ist der Standardkatalogname.
Sie müssen diesen Katalog in den Katalog ändern, der die Daten enthält, die Sie visualisieren möchten.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Beispiel:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Wählen Sie die Registerkarte "Erweitert" aus, und geben Sie die folgende Konfiguration in "Zusätzliche Sicherheit" ein. Ersetzen Sie den client_id Wert durch die GUID-Client-ID für Ihre verwaltete Identität (dieser Wert finden Sie auf der Übersichtsseite für verwaltete Identitätsressourcen im Azure-Portal).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Wählen Sie "Verbinden" aus.
Jetzt können Sie Datasets und Diagramme erstellen.
Fehlerbehebung
Vergewissern Sie sich, dass Ihr Trino-Cluster so konfiguriert wurde, dass die zugewiesene verwaltete Identität des Superset-Clusters eine Verbindung herstellen kann. Sie können diesen Wert überprüfen, indem Sie sich den Ressourcen-JSON-Code Ihres Trino-Clusters (authorizationProfile/userIds) ansehen. Stellen Sie sicher, dass Sie die Objekt-ID der Identität verwenden, nicht die Client-ID.
Stellen Sie sicher, dass in der Verbindungskonfiguration keine Fehler aufgetreten sind.
- Stellen Sie sicher, dass das "sichere Extra" ausgefüllt ist,
- Ihre URL ist richtig.
- Verwenden Sie den
tpch
-Katalog, um zu überprüfen, ob Ihre Verbindung funktioniert, bevor Sie Ihren eigenen Katalog verwenden.
Nächste Schritte
Um Superset im Internet verfügbar zu machen, erlauben Sie die Benutzeranmeldung mit der Microsoft Entra-ID, indem Sie die folgenden allgemeinen Schritte ausführen. Für diese Schritte ist ein mittleres oder höheres Erfahrungsniveau mit Kubernetes erforderlich.