Déployer Apache Superset™
Important
Azure HDInsight sur AKS a été mis hors service le 31 janvier 2025. En savoir plus avec cette annonce.
Vous devez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent pour éviter l’arrêt brusque de vos charges de travail.
Important
Cette fonctionnalité est actuellement en préversion. Les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure incluent des termes juridiques supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale. Pour plus d’informations sur cette préversion spécifique, consultez informations sur Azure HDInsight sur AKS en préversion. Pour des questions ou des suggestions de fonctionnalités, envoyez une demande sur AskHDInsight avec les détails et suivez-nous pour plus de mises à jour sur Communauté Azure HDInsight.
La visualisation est essentielle pour explorer, présenter et partager efficacement des données. Apache Superset vous permet d’exécuter des requêtes, de visualiser et de créer des tableaux de bord sur vos données dans une interface utilisateur web flexible.
Cet article explique comment déployer une instance d’interface utilisateur Apache Superset dans Azure et la connecter à un cluster Trino avec HDInsight sur AKS pour interroger des données et créer des tableaux de bord.
Résumé des étapes décrites dans cet article :
Conditions préalables
Si vous utilisez Windows, utilisez Ubuntu sur WSL2 pour exécuter ces instructions dans un environnement Linux bash shell dans Windows. Sinon, vous devez modifier les commandes pour fonctionner dans Windows.
Créer un cluster Trino et attribuer une identité managée
Si ce n’est pas encore fait, créez un cluster Trino avec HDInsight sur AKS.
Pour qu’Apache Superset appelle Trino, il doit avoir une identité managée (MSI). Créez ou choisissez une identité gérée assignée par l'utilisateur existante .
Modifiez votre configuration de cluster Trino pour permettre à l’identité managée créée à l’étape 2 d’exécuter des requêtes. Découvrez comment gérer lesd’accès.
Installer les outils locaux
Configurer Azure CLI.
un. Installez Azure CLI.
b. Connectez-vous à Azure CLI :
az login
.c. Installez l’extension Azure CLI en préversion.
# 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
Installez Helm.
Créer un cluster Kubernetes pour Apache Superset
Cette étape crée le cluster Azure Kubernetes Service (AKS) dans lequel vous pouvez installer Apache Superset. Vous devez lier l’identité managée que vous avez associée au cluster pour permettre au Superset de s’authentifier auprès du cluster Trino avec cette identité.
Créez les variables suivantes dans bash pour votre installation de 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=
Sélectionnez l’abonnement dans lequel vous allez installer Superset.
az account set --subscription $SUBSCRIPTION
Activez la fonctionnalité d’identité de pod sur votre abonnement actuel.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Créez un cluster AKS pour déployer 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
Déployer Apache Superset
Pour permettre à Superset de communiquer en toute sécurité avec le cluster Trino, le moyen le plus simple consiste à configurer Superset pour utiliser l’identité managée Azure. Cette étape signifie que votre cluster utilise l’identité que vous lui avez affectée sans déploiement manuel ni cycle de secrets.
Vous devez créer un fichier values.yaml pour le déploiement De Superset Helm. Reportez-vous à l'exemple de code .
facultatif : utilisez Microsoft Azure Postgres au lieu d’utiliser Postgres déployé à l’intérieur du cluster Kubernetes.
Créez une instance « Azure Database pour PostgreSQL » pour faciliter la maintenance, autoriser les sauvegardes et fournir une meilleure fiabilité.
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
Ajoutez d’autres sections du fichier values.yaml si nécessaire. Documentation Superset recommande de modifier le mot de passe par défaut.
Déployez Superset à l’aide de 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
Connectez-vous à Superset et créez une connexion.
Note
Vous devez créer des connexions distinctes pour chaque catalogue Trino que vous souhaitez utiliser.
Connectez-vous à Superset à l’aide du transfert de port.
kubectl port-forward service/superset 8088:8088 --namespace default
Ouvrez un navigateur web et accédez à http://localhost:8088/. Si vous n’avez pas modifié le mot de passe administrateur, connectez-vous à l’aide du nom d’utilisateur : administrateur, mot de passe : administrateur.
Sélectionnez « connecter la base de données » dans le menu plus « + » sur le côté droit.
capture d’écran
Sélectionnez Trino.
Entrez l’URI SQL Alchemy de votre cluster Trino.
Vous devez modifier trois parties de cette chaîne de connexion :
Propriété Exemple Description utilisateur trino@ Le nom avant le symbole @ est le nom d’utilisateur utilisé pour la connexion à Trino. nom d’hôte mytrinocluster.00000000000000000000000000
.eastus.hdinsightaks.netNom d’hôte de votre cluster Trino.
Vous pouvez obtenir ces informations à partir de la page « Vue d’ensemble » de votre cluster dans le portail Azure.catalogue /tpch Après la barre oblique se trouve le nom du catalogue par défaut.
Vous devez remplacer ce catalogue par le catalogue contenant les données que vous souhaitez visualiser.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Exemple :
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Sélectionnez l’onglet « Avancé » et entrez la configuration suivante dans « Sécurité supplémentaire ». Remplacez la valeur client_id par l’ID client GUID de votre identité managée (cette valeur est disponible dans la page vue d’ensemble de votre ressource d’identité managée dans le portail Azure).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
capture d’écran
Sélectionnez « Se connecter ».
Vous êtes maintenant prêt à créer des jeux de données et des graphiques.
Dépannage
Vérifiez que votre cluster Trino a été configuré pour permettre à l’identité managée affectée par l’utilisateur du cluster Superset de se connecter. Vous pouvez vérifier cette valeur en examinant le JSON de ressource de votre cluster Trino (authorizationProfile/userIds). Vérifiez que vous utilisez l’ID d’objet de l’identité, et non l’ID client.
Vérifiez qu’il n’y a aucune erreur dans la configuration de connexion.
- Assurez-vous que le « formulaire sécurisé supplémentaire » est rempli,
- Votre URL est correcte.
- Utilisez le catalogue
tpch
pour vérifier que votre connexion fonctionne avant d’utiliser votre propre catalogue.
Étapes suivantes
Pour exposer Superset à Internet, vous devez effectuer les étapes générales suivantes afin d’autoriser la connexion utilisateur via Microsoft Entra ID. Ces étapes nécessitent une expérience intermédiaire ou supérieure avec Kubernetes.