Como montar o ADLS Gen2 para a camada do HDFS em um cluster de Big Data

As seções a seguir fornecem um exemplo de como configurar a camada do HDFS com uma fonte de dados do Azure Data Lake Storage Gen2.

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Pré-requisitos

Carregar dados no Azure Data Lake Storage

A seção a seguir descreve como configurar o Azure Data Lake Storage Gen2 para testar a camada do HDFS. Caso você já tenha dados armazenados no Azure Data Lake Storage, ignore esta seção para usar seus próprios dados.

  1. Crie uma conta de armazenamento com funcionalidades do Data Lake Storage Gen2.

  2. Crie um sistema de arquivos nesta conta de armazenamento para seus dados.

  3. Faça upload de um arquivo CSV ou Parquet no contêiner. Estes são os dados do HDFS externos que serão montados no HDFS no cluster de Big Data.

Credenciais para montagem

Usar credenciais do OAuth para montagem

Para usar as credenciais do OAuth para montagem, é necessário seguir as etapas abaixo:

  1. Vá para o Portal do Azure

  2. Navegue até o Microsoft Entra ID. Você deve ver esse serviço na barra de navegação à esquerda.

  3. Selecione Registros de Aplicativo no menu e clique em Novo registro.

  4. Crie um "Aplicativo Web" e siga o assistente. Lembre-se do nome do aplicativo que você cria aqui. Você precisará adicionar esse nome à sua conta do ADLS como um usuário autorizado. Observe também a ID do cliente do aplicativo na visão geral ao selecionar o aplicativo.

  5. Depois que o aplicativo Web for criado, vá para Certificados e segredos e escolha criar um Novo segredo do cliente. Selecione uma duração. Use Adicionar para salvar o segredo.

  6. Volte à página Registros de aplicativo e clique em "Pontos de Extremidade" na parte superior. Anote a URL do "Ponto de extremidade do token OAuth (v2)"

  7. Agora você deverá ter os seguintes itens anotados para o OAuth:

    • A "ID do Cliente do Aplicativo" do aplicativo Web
    • O segredo do cliente
    • O ponto de extremidade do token

Como adicionar a entidade de serviço à sua conta do ADLS

  1. Acesse o portal novamente e navegue até o sistema de arquivos da conta de armazenamento do ADLS e selecione controle de acesso (IAM) no menu à esquerda.
  2. Selecione "Adicionar uma atribuição de função"
  3. Selecione a função "Colaborador de Dados de Blob de Armazenamento"
  4. Pesquise o nome criado acima (observe que ele não aparece na lista, mas será encontrado se você pesquisar o nome completo).
  5. Salve a função.

Aguarde 5 a 10 minutos para usar as credenciais para montagem

Definir uma variável de ambiente para as credenciais do OAuth

Abra um prompt de comando em um computador cliente que possa acessar o cluster de Big Data. Defina uma variável de ambiente usando o formato a seguir. As credenciais precisam estar em uma lista separada por vírgula. O comando 'set' é usado no Windows. Se estiver usando o Linux, use 'export'.

Observe que você precisa remover qualquer quebra de linha ou espaço entre as vírgulas "," ao fornecer as credenciais. A formatação abaixo é apenas para facilitar a leitura.

   set MOUNT_CREDENTIALS=fs.azure.account.auth.type=OAuth,
   fs.azure.account.oauth.provider.type=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider,
   fs.azure.account.oauth2.client.endpoint=[token endpoint],
   fs.azure.account.oauth2.client.id=[Application client ID],
   fs.azure.account.oauth2.client.secret=[client secret]

Usar chaves de acesso para montagem

Você também pode fazer a montagem usando chaves de acesso que podem ser obtidas para sua conta do ADLS no portal do Azure.

Dica

Para obter mais informações sobre como encontrar a chave de acesso (<storage-account-access-key>) para sua conta de armazenamento, confira Exibir chaves de conta e cadeia de conexão.

Definir variável de ambiente para credenciais de chave de acesso

  1. Abra um prompt de comando em um computador cliente que possa acessar o cluster de Big Data.

  2. Abra um prompt de comando em um computador cliente que possa acessar o cluster de Big Data. Defina uma variável de ambiente usando o formato a seguir. As credenciais precisam estar em uma lista separada por vírgula. O comando 'set' é usado no Windows. Se estiver usando o Linux, use 'export'.

Observe que você precisa remover qualquer quebra de linha ou espaço entre as vírgulas "," ao fornecer as credenciais. A formatação abaixo é apenas para facilitar a leitura.

set MOUNT_CREDENTIALS=fs.azure.abfs.account.name=<your-storage-account-name>.dfs.core.windows.net,
fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net=<storage-account-access-key>

Montar o armazenamento HDFS remoto

Agora que você definiu a variável de ambiente MOUNT_CREDENTIALS para chaves de acesso ou usando o OAuth, inicie a montagem. As etapas a seguir montam o armazenamento HDFS remoto do Azure Data Lake no armazenamento HDFS local do cluster de Big Data.

  1. Use kubectl para localizar o endereço IP do serviço controller-svc-external do ponto de extremidade em seu cluster de Big Data. Procure External-IP.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. Faça logon com azdata usando o endereço IP externo do ponto de extremidade do controlador com o nome de usuário e a senha do cluster:

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. Defina a variável de ambiente MOUNT_CREDENTIALS (role a página para acima para obter as instruções)

  4. Monte o armazenamento HDFS remoto no Azure usando azdata bdc hdfs mount create. Substitua os valores de espaço reservado antes de executar o seguinte comando:

    azdata bdc hdfs mount create --remote-uri abfs://<blob-container-name>@<storage-account-name>.dfs.core.windows.net/ --mount-path /mounts/<mount-name>
    

    Observação

    O comando mount create é assíncrono. Neste momento, não há nenhuma mensagem indicando se a montagem foi bem-sucedida. Confira a seção status para verificar o status das montagens.

Se a montagem tiver sido bem-sucedida, você poderá consultar os dados do HDFS e executar trabalhos do Spark com eles. Ela será exibida no HDFS do cluster de Big Data na localização especificada por --mount-path.

Obter o status das montagens

Para listar o status de todas as montagens no cluster de Big Data, use o seguinte comando:

azdata bdc hdfs mount status

Para listar o status de uma montagem em um caminho específico no HDFS, use o seguinte comando:

azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>

Atualizar uma montagem

O exemplo a seguir atualiza a montagem. Essa atualização também limpará o cache de montagem.

azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>

Excluir a montagem

Para excluir a montagem, use o comando azdata bdc hdfs mount delete e especifique o caminho da montagem no HDFS:

azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>

Próximas etapas

Para obter mais informações sobre Clusters de Big Data do SQL Server 2019, confira O que são Clusters de Big Data do SQL Server 2019.