Sdílet prostřednictvím


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:

  1. Požadavky.
  2. Vytvořte cluster Kubernetes pro Apache Superset
  3. Nasadit Apache Superset.

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

  1. Pokud jste to ještě neudělali, vytvořte cluster Trino pomocí HDInsight na AKS.

  2. 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 .

  3. 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ů

  1. 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
    
  2. Nainstalujte Kubernetes.

  3. 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.

  1. 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=
    
  2. Vyberte předplatné, do kterého chcete nainstalovat Superset.

    az account set --subscription $SUBSCRIPTION
    
  3. 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
    
  4. 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

  1. 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
    
  2. V případě potřeby přidejte další části values.yaml. Dokumentace Superset doporučuje změnit výchozí heslo.

  3. 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
    
  4. 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í.

    1. Připojte se k Supersetu pomocí přesměrování portů.

      kubectl port-forward service/superset 8088:8088 --namespace default

    2. 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.

    3. V nabídce plus '+' na pravé straně vyberte "připojit databázi".

      Snímek obrazovky zobrazující připojení k databázi

    4. Vyberte Trino.

    5. 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.net
      Ná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

      Snímek obrazovky s připojovacím řetězcem

    6. 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"
         }
       }
      

      Snímek obrazovky znázorňující přidání MSI

    7. 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.

    1. Ujistěte se, že je vyplněna kolonka "secure extra".
    2. Vaše adresa URL je správná.
    3. 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.