Distribuire Apache Superset™
Importante
Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più tramite questo annuncio.
È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.
Importante
Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere informazioni sull'anteprima di Azure HDInsight su AKS. Per domande o suggerimenti sulle funzionalità, si prega di inviare una richiesta su AskHDInsight con i dettagli e seguirci per altri aggiornamenti sulla Community di Azure HDInsight.
La visualizzazione è essenziale per esplorare, presentare e condividere i dati in modo efficace. Apache Superset consente di eseguire query, visualizzare e compilare dashboard sui dati in un'interfaccia utente Web flessibile.
Questo articolo descrive come distribuire un'istanza dell'interfaccia utente di Apache Superset in Azure e connetterla al cluster Trino con HDInsight nel servizio Azure Kubernetes per eseguire query sui dati e creare dashboard.
Riepilogo dei passaggi illustrati in questo articolo:
Prerequisiti
Se si usa Windows, utilizzare Ubuntu su WSL2 per eseguire queste istruzioni in un ambiente Linux su Windows con shell bash. In caso contrario, è necessario modificare i comandi per funzionare in Windows.
Creare un cluster Trino e assegnare un'identità gestita
Se non l'hai già fatto, crea un cluster Trino con HDInsight su AKS.
Affinché Apache Superset chiami Trino, deve avere un'identità gestita (MSI). Creare o selezionare un'identità gestita esistente assegnata dall'utente .
Modificare la configurazione del cluster Trino per consentire all'identità gestita creata nel passaggio 2 di eseguire query. Informazioni su come gestire l'accesso.
Installare gli strumenti locali
Configurare Azure CLI (interfaccia a riga di comando).
un. Installare 'interfaccia della riga di comando di Azure.
b. Accedi alla CLI di Azure:
az login
.c. Installare l'estensione di anteprima dell'interfaccia della riga di comando di Azure.
# 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
Installare Kubernetes.
Installare Helm.
Creare il cluster Kubernetes per Apache Superset
Questo passaggio crea il cluster del servizio Azure Kubernetes in cui è possibile installare Apache Superset. È necessario collegare l'identità gestita che hai associato al cluster per consentire a Superset di autenticarsi con il cluster Trino usando tale identità.
Creare le variabili seguenti in bash per l'installazione di Superset.
# ----- 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=
Selezionare la sottoscrizione in cui si intende installare Superset.
az account set --subscription $SUBSCRIPTION
Abilitare la funzionalità di identità pod nella sottoscrizione corrente.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Creare un cluster AKS per distribuire 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
Distribuire Apache Superset
Per consentire a Superset di comunicare con il cluster Trino in modo sicuro, il modo più semplice consiste nel configurare Superset per usare l'identità gestita di Azure. Il passaggio significa che il cluster utilizza l'identità assegnata senza necessità di distribuzione manuale o rotazione dei segreti.
Devi creare un file values.yaml per la distribuzione di Helm Superset. Fare riferimento al codice di esempio .
facoltativo: usare Microsoft Azure Postgres anziché usare Postgres distribuito all'interno del cluster Kubernetes.
Creare un'istanza di "Database di Azure per PostgreSQL" per semplificare la manutenzione, consentire i backup e garantire una maggiore affidabilità.
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
Aggiungere altre sezioni del file values.yaml, se necessario. documentazione di Superset consiglia di modificare la password predefinita.
Distribuire Superset usando 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
Connettersi a Superset e creare la connessione.
Nota
È consigliabile creare connessioni separate per ogni catalogo Trino che si vuole usare.
Connettersi a Superset usando il port forwarding.
kubectl port-forward service/superset 8088:8088 --namespace default
Aprire un Web browser e passare a http://localhost:8088/. Se la password dell'amministratore non è stata modificata, accedere usando nome utente: amministratore, password: amministratore.
Selezionare "Connect database" (Connetti database) dal menu più "+" sul lato destro.
Selezionare Trino.
Immettere l'URI di Sql Alchemy del cluster Trino.
È necessario modificare tre parti di questa stringa di connessione:
Proprietà Esempio Descrizione utente trino@ Il nome prima del simbolo @ è il nome utente usato per la connessione a Trino. hostname mytrinocluster.0000000000000000000000000000
.eastus.hdinsightaks.netNome host del cluster Trino.
È possibile ottenere queste informazioni dalla pagina "Panoramica" del cluster nel portale di Azure.catalogo /tpch Dopo la barra è il nome predefinito del catalogo.
È necessario modificare questo catalogo nel catalogo con i dati da visualizzare.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Esempio:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Selezionare la scheda "Avanzate" e immettere la configurazione seguente in "Sicurezza aggiuntiva". Sostituire il valore client_id con l'ID client GUID per l'identità gestita. Questo valore è disponibile nella pagina di panoramica delle risorse di identità gestite nel portale di Azure.
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Selezionare "Connetti".
A questo momento, è possibile creare set di dati e grafici.
Risoluzione dei problemi
Verificare che il cluster Trino sia stato configurato per consentire la connessione all'identità gestita assegnata dall'utente del cluster Superset. È possibile verificare questo valore esaminando il codice JSON della risorsa del cluster Trino (authorizationProfile/userIds). Assicurarsi di usare l'ID oggetto dell'identità, non l'ID client.
Assicurarsi che non ci siano errori nella configurazione della connessione.
- Assicurati che il campo "extra sicuro" sia compilato.
- L'URL è corretto.
- Usare il catalogo
tpch
per eseguire un test e verificare che la connessione funzioni prima di usare il proprio catalogo.
Passaggi successivi
Per esporre Superset a Internet, consentire l'accesso utente usando Microsoft Entra ID è necessario eseguire i passaggi generali seguenti. Questi passaggi richiedono un'esperienza intermedia o superiore con Kubernetes.