O driver do Azure Blob File System (ABFS): um driver dedicado do Armazenamento do Azure para Hadoop

Um dos principais métodos de acesso para dados no Azure Data Lake Storage é por meio do Hadoop FileSystem. Os usuários do Data Lake Storage do Armazenamento de Blobs do Azure podem acessar o driver do Azure Blob File System ou ABFS. O ABFS faz parte do Apache Hadoop e está incluído em muitas das distribuições comerciais do Hadoop. Usando o driver ABFS, muitos aplicativos e estruturas podem acessar dados em Armazenamento de Blobs do Azure sem nenhum código referenciando explicitamente Data Lake Storage.

Recurso anterior: o driver do Armazenamento do Azure Blob do Windows

O driver de Blob de Armazenamento do Microsoft Azure ou driver WASB forneceu suporte original para o Armazenamento de Blobs do Azure. Esse driver executa a tarefa complexa de mapear a semântica do sistema de arquivos (conforme exigido pela interface Hadoop FileSystem) para a interface de estilo do repositório de objetos exposta por Armazenamento de Blobs do Azure. Esse driver continua a dar suporte a esse modelo, fornecendo acesso de alto desempenho aos dados armazenados em blobs. No entanto, ele contém uma quantidade significativa de código que executa esse mapeamento, o que dificulta a manutenção. Além disso, FileSystem.rename() e FileSystem.delete() aplicados a diretórios exigem que o driver execute um grande número de operações, pois os repositórios de objetos não têm suporte a diretório nativo. Essa sobrecarga geralmente leva a um desempenho degradado. O driver da ABFS supera as deficiências inerentes do WASB.

Como o ABFS funciona

A interface REST do Azure Data Lake Storage oferece suporte à semântica de sistema de arquivos no Armazenamento de Blobs do Azure. Dado que o sistema de arquivos Hadoop também foi projetado para dar suporte à mesma semântica, não há nenhum requisito para um mapeamento complexo no driver. Portanto, o driver do Sistema de Arquivos de Blobs do Azure (ou ABFS) é apenas uma camada de cliente para a API REST.

No entanto, o driver ainda deve executar algumas funções:

Esquema de URI para referência de dados

Consistente com outras implementações do sistema de arquivos no Hadoop, o driver do ABFS define seu próprio esquema de URI para que os recursos (diretórios e arquivos) possam ser tratados de forma distinta. O esquema de URI está documentado em Usar o URI do Azure Data Lake Storage. A estrutura do URI é: abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>, em que abfss:// usa TLS para conexões criptografadas.

Usando esse formato de URI, as estruturas e ferramentas padrão do Hadoop podem referenciar esses recursos:

hdfs dfs -mkdir -p abfs://fileanalysis@myanalytics.dfs.core.windows.net/tutorials/flightdelays/data
hdfs dfs -put flight_delays.csv abfs://fileanalysis@myanalytics.dfs.core.windows.net/tutorials/flightdelays/data/

Internamente, o driver do ABFS converte os recursos especificados no URI em arquivos e diretórios e faz chamadas para a API REST Azure Data Lake Storage com essas referências.

Autenticação

O driver do ABFS dá suporte a duas formas de autenticação para que o aplicativo Hadoop possa acessar com segurança os recursos contidos em uma conta compatível com Data Lake Storage. A autenticação requer uma conta de armazenamento com namespace hierárquico habilitado. Para obter detalhes completos dos esquemas de autenticação disponíveis, consulte o guia de segurança Armazenamento do Azure. Os esquemas de autenticação com suporte são:

  • Chave Compartilhada: Esse método de autenticação concede aos usuários acesso a todos os recursos da conta. A chave é criptografada e armazenada na configuração do Hadoop.

  • Token de Portador OAuth do Microsoft Entra ID: o driver adquire e atualiza tokens de portador do Microsoft Entra usando a identidade do usuário final ou uma entidade de serviço configurada. Ao usar esse modelo de autenticação, você autoriza cada acesso com base em cada chamada, usando a identidade associada ao token fornecido, que é avaliada com base na lista de controle de acesso (ACL) POSIX atribuída.

    Observação

    Azure Data Lake Storage dá suporte à autenticação Microsoft Entra ID OAuth 2.0.

Configuração

Armazene toda a configuração para o driver ABFS no core-site.xml arquivo de configuração. Nas distribuições do Hadoop que apresentam o Ambari, você também pode gerenciar a configuração usando o portal da Web ou a API REST do Ambari.

Para obter detalhes sobre todas as entradas de configuração com suporte, consulte a documentação oficial do Hadoop.

Próximas etapas