Nasadit Apache Superset™
Důležitý
Azure HDInsight v AKS byl vyřazen 31. ledna 2025. Zjistěte více v tomto oznámení.
Abyste se vyhnuli náhlému ukončení úloh, musíte migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure.
Důležitý
Tato funkce je aktuálně ve verzi Preview. doplňkové podmínky použití pro verze Preview Microsoft Azure obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo zatím nejsou obecně dostupné. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight na AKS Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost o AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích komunity Azure HDInsight.
Vizualizace je nezbytná k efektivnímu zkoumání, prezentaci a sdílení dat. apache superset umožňuje spouštět dotazy, vizualizovat a vytvářet řídicí panely nad daty v flexibilním webovém uživatelském rozhraní.
Tento článek popisuje, jak nasadit instanci uživatelského rozhraní Apache Superset v Azure a připojit ji ke clusteru Trino s HDInsight v AKS k dotazování dat a vytváření řídicích panelů.
Shrnutí kroků popsaných v tomto článku:
Požadavky
Pokud používáte Windows, použijte Ubuntu na WSL2 ke spuštění těchto pokynů v prostředí Bash Shell Linux v systému Windows. Jinak je potřeba upravit příkazy, aby fungovaly ve Windows.
Vytvoření clusteru Trino a přiřazení spravované identity
Pokud jste to ještě neudělali, vytvořte cluster Trino pomocí HDInsight na AKS.
Aby apache Superset mohl volat Trino, musí mít spravovanou identitu (MSI). Vytvořte nebo vyberte existující uživatelem přiřazenou spravovanou identitu .
Upravte konfiguraci clusteru Trino tak, aby spravovaná identita vytvořená v kroku 2 mohla spouštět dotazy. Zjistěte, jak spravovat přístup.
Instalace místních nástrojů
Nastavení Azure CLI
a. Nainstalujte Azure CLI.
b. Přihlaste se k Azure CLI:
az login
.c. Nainstalujte rozšíření Azure CLI preview.
# 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
Nainstalujte Kubernetes.
Nainstalujte Helm.
Vytvoření clusteru Kubernetes pro Apache Superset
Tento krok vytvoří cluster Azure Kubernetes Service (AKS), kde můžete nainstalovat Apache Superset. Potřebujete svázat spravovanou identitu, kterou jste přidružili ke clusteru, aby se Superset mohl autentizovat u clusteru Trino s touto identitou.
Vytvořte následující proměnné v prostředí Bash pro instalaci supersetu.
# ----- 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=
Vyberte předplatné, do kterého chcete nainstalovat Superset.
az account set --subscription $SUBSCRIPTION
Povolte funkci identity pro pod ve vašem aktuálním předplatném.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Vytvořte AKS cluster pro nasazení 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
Nasazení Apache Superset
Pokud chcete, aby Superset mohl bezpečně komunikovat s clusterem Trino, nejjednodušším způsobem je nastavit Superset na použití spravované identity Azure. Tento krok znamená, že váš cluster používá identitu, kterou jste přiřadili bez ručního nasazení nebo cyklování tajných kódů.
Pro nasazení Helmu superset je potřeba vytvořit soubor values.yaml. Viz ukázkový kód .
nepovinný: Místo použití Postgres nasazeného v clusteru Kubernetes použijte Microsoft Azure Postgres.
Vytvořte instanci Azure Database for PostgreSQL, která umožní snadnější údržbu, umožní zálohování a zajistí lepší spolehlivost.
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
V případě potřeby přidejte další části values.yaml. Dokumentace Superset doporučuje změnit výchozí heslo.
Nasaďte Superset pomocí Helmu.
# 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
Připojte se k Superset a vytvořte připojení.
Poznámka
Pro každý katalog Trino, který chcete použít, byste měli vytvořit samostatná připojení.
Připojte se k Supersetu pomocí přesměrování portů.
kubectl port-forward service/superset 8088:8088 --namespace default
Otevřete webový prohlížeč a přejděte na http://localhost:8088/. Pokud jste nezměnili heslo správce, přihlaste se pomocí uživatelského jména: admin, password: admin.
V nabídce plus '+' na pravé straně vyberte "připojit databázi".
Vyberte Trino.
Zadejte identifikátor URI SQL Alchemy vašeho clusteru Trino.
Musíte upravit tři části tohoto připojovacího řetězce:
Vlastnost Příklad Popis uživatel trino@ Jméno před symbolem @ je uživatelské jméno použité pro připojení k Trino. název hostitele mytrinocluster.0000000000000000000000000000
.eastus.hdinsightaks.netNázev hostitele vašeho clusteru Trino.
Tyto informace můžete získat na stránce Přehled vašeho clusteru na webu Azure Portal.katalog /tpch Za lomítkem je výchozí název katalogu.
Tento katalog je potřeba změnit na katalog s daty, která chcete vizualizovat.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Příklad:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Vyberte kartu Upřesnit a zadejte následující konfiguraci v části Další zabezpečení. Nahraďte hodnotu client_id ID klienta GUID pro vaši spravovanou identitu (tuto hodnotu najdete na stránce přehledu prostředku spravované identity na webu Azure Portal).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Vyberte Připojit.
Teď jste připraveni vytvářet datové sady a grafy.
Řešení problémů
Ověřte, že je váš cluster Trino nakonfigurovaný tak, aby se mohl připojit uživatel spravované identity přiřazené uživatelem clusteru Superset. Tuto hodnotu můžete ověřit tak, že se podíváte na JSON prostředku vašeho clusteru Trino (authorizationProfile/userIds). Ujistěte se, že používáte ID objektu identity, nikoli ID klienta.
Ujistěte se, že konfigurace připojení neobsahuje žádné chyby.
- Ujistěte se, že je vyplněna kolonka "secure extra".
- Vaše adresa URL je správná.
- Před použitím vlastního katalogu použijte katalog
tpch
k otestování a ověřte, jestli připojení funguje.
Další kroky
Pokud chcete zpřístupnit Superset na internetu a povolit přihlášení uživatele pomocí ID Microsoft Entra, musíte provést následující obecné kroky. Tyto kroky vyžadují středně pokročilé nebo pokročilé zkušenosti s Kubernetes.