Implantar o Apache Superset™
Nota
Vamos desativar o Azure HDInsight no AKS em 31 de janeiro de 2025. Antes de 31 de janeiro de 2025, você precisará migrar suas cargas de trabalho para o Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho. Os clusters restantes na sua subscrição serão interrompidos e removidos do anfitrião.
Apenas o apoio básico estará disponível até à data da reforma.
Importante
Esta funcionalidade está atualmente em pré-visualização. Os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure incluem mais termos legais que se aplicam a funcionalidades do Azure que estão em versão beta, em pré-visualização ou ainda não disponibilizadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Informações de visualização do Azure HDInsight no AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações na Comunidade do Azure HDInsight.
A visualização é essencial para explorar, apresentar e compartilhar dados de forma eficaz. O Apache Superset permite que você execute consultas, visualize e construa painéis sobre seus dados em uma interface do usuário da Web flexível.
Este artigo descreve como implantar uma instância da interface do usuário do Apache Superset no Azure e conectá-la ao cluster Trino com o HDInsight no AKS para consultar dados e criar painéis.
Resumo das etapas abordadas neste artigo:
Pré-requisitos
Se estiver usando o Windows, use o Ubuntu no WSL2 para executar essas instruções em um ambiente Linux bash shell dentro do Windows. Caso contrário, você precisará modificar comandos para funcionar no Windows.
Criar um cluster Trino e atribuir uma Identidade Gerenciada
Se ainda não o fez, crie um cluster Trino com o HDInsight no AKS.
Para que o Apache Superset chame o Trino, ele precisa ter uma identidade gerenciada (MSI). Crie ou escolha uma identidade gerenciada atribuída ao usuário existente.
Modifique a configuração do cluster Trino para permitir que a identidade gerenciada criada na etapa 2 execute consultas. Saiba como gerir o acesso.
Instalar ferramentas locais
Configure a CLI do Azure.
a. Instalar a CLI do Azure.
b. Faça logon na CLI do Azure:
az login
.c. Instale a extensão de visualização da CLI do 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
Instale o Kubernetes.
Instale o Helm.
Criar cluster kubernetes para Apache Superset
Esta etapa cria o cluster do Serviço Kubernetes do Azure (AKS) onde você pode instalar o Apache Superset. Você precisa vincular a identidade gerenciada associada ao cluster para permitir que o Superset se autentique com o cluster Trino com essa identidade.
Crie as seguintes variáveis em bash para sua instalação 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=
Selecione a subscrição onde vai instalar o Superset.
az account set --subscription $SUBSCRIPTION
Habilite o recurso de identidade do pod na sua assinatura atual.
az feature register --name EnablePodIdentityPreview --namespace Microsoft.ContainerService az provider register -n Microsoft.ContainerService
Crie um cluster AKS para implantar o 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
Implantar o Apache Superset
Para permitir que o Superset converse com o cluster Trino com segurança, a maneira mais fácil é configurar o Superset para usar a Identidade Gerenciada do Azure. Esta etapa significa que seu cluster usa a identidade que você atribuiu a ele sem implantação manual ou ciclo de segredos.
Você precisa criar um arquivo values.yaml para a implantação do Superset Helm. Consulte o código de exemplo.
Opcional: use o Microsoft Azure Postgres em vez de usar o Postgres implantado dentro do cluster Kubernetes.
Crie uma instância do "Banco de Dados do Azure para PostgreSQL" para permitir uma manutenção mais fácil, permitir backups e fornecer melhor confiabilidade.
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
Adicione outras seções do values.yaml se necessário. A documentação do Superset recomenda alterar a senha padrão.
Implante o Superset usando o 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
Conecte-se ao Superset e crie conexão.
Nota
Você deve criar conexões separadas para cada catálogo Trino que deseja usar.
Conecte-se ao Superset usando o encaminhamento de portas.
kubectl port-forward service/superset 8088:8088 --namespace default
Abra um navegador da Web e vá para http://localhost:8088/. Se você não alterou a senha de administrador, faça login usando o nome de usuário: admin, senha: admin.
Selecione "conectar banco de dados" no menu mais '+' no lado direito.
Selecione Trino.
Insira o URI de Alquimia SQL do seu cluster Trino.
Você precisa modificar três partes dessa cadeia de conexão:
Property Exemplo Description Utilizador Trino@ O nome antes do símbolo @ é o nome de usuário usado para conexão com Trino. Nome do anfitrião mytrinocluster.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
.eastus.hdinsightaks.netO nome do host do cluster Trino.
Você pode obter essas informações na página "Visão geral" do seu cluster no portal do Azure.catálogo /tpch Após a barra, é o nome do catálogo padrão.
Você precisa alterar esse catálogo para o catálogo que tem os dados que você deseja visualizar.trino://$USER@$TRINO_CLUSTER_HOST_NAME.hdinsightaks.net:443/$DEFAULT_CATALOG
Exemplo:
trino://trino@mytrinocluster.00000000000000000000000000.westus3.hdinsightaks.net:443/tpch
Selecione a guia "Avançado" e insira a seguinte configuração em "Segurança adicional". Substitua o valor client_id pela ID do Cliente GUID para sua identidade gerenciada (esse valor pode ser encontrado na página de visão geral do recurso de identidade gerenciada no portal do Azure).
{ "auth_method": "azure_msi", "auth_params": { "scope": "https://clusteraccess.hdinsightaks.net/.default", "client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
Selecione "Conectar".
Agora, você está pronto para criar conjuntos de dados e gráficos.
Resolução de Problemas
Verifique se o cluster Trino foi configurado para permitir que a identidade gerenciada atribuída ao usuário do cluster Superset se conecte. Você pode verificar esse valor examinando o JSON de recurso do cluster Trino (authorizationProfile/userIds). Certifique-se de que está a utilizar o ID de objeto da identidade, não o ID do cliente.
Verifique se não há erros na configuração da conexão.
- Certifique-se de que o "extra seguro" está preenchido,
- O seu URL está correto.
- Use o
tpch
catálogo para testar para verificar se sua conexão está funcionando antes de usar seu próprio catálogo.
Passos Seguintes
Para expor o Superset à internet, permitir o login do usuário usando o Microsoft Entra ID você precisa realizar as seguintes etapas gerais. Essas etapas exigem uma experiência intermediária ou maior com o Kubernetes.