Partilhar via


Dados integrados do Azure Data Lake Storage Gen2

Este artigo descreve como integrar dados a um novo espaço de trabalho do Azure Databricks a partir do Azure Data Lake Storage Gen2. Você aprenderá como acessar com segurança os dados de origem em um local de armazenamento de objetos na nuvem que corresponda a um volume de Catalog Unity (recomendado) ou a um local externo do Unity Catalog. Em seguida, você aprenderá como ingerir os dados incrementalmente em um Unity Catalog gerenciado table usando o Auto Loader com Delta Live Tables.

Nota

Para integrar dados no Databricks SQL em vez de em um bloco de anotações, consulte Carregar dados usando streaming tables no Databricks SQL.

Antes de começar

Se você não for um administrador, este artigo pressupõe que um administrador tenha fornecido o seguinte:

  • O acesso a um espaço de trabalho do Azure Databricks com a funcionalidade Unity Catalog ativada. Para obter mais informações, consulte Set e gerenciar o Unity Catalog.

  • A permissão READ VOLUME no volume externo do Unity Catalog ou a permissão READ FILES no local externo do Unity Catalog que corresponde ao local de armazenamento em nuvem que contém os seus dados de origem. Para obter mais informações, consulte Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks.

  • O caminho para os dados de origem.

    Exemplo de caminho de volume: /Volumes/<catalog>/<schema>/<volume>/<path>/<folder>

    Exemplo de caminho de local externo: abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>

  • Os privilégios USE SCHEMA e CREATE TABLE no schema em que se deseja importar dados.

  • Permissão de criação de cluster ou acesso a um de política de cluster que define um cluster de pipeline Delta Live (campo a ).

    Se o caminho para os dados de origem for um caminho de volume, o cluster deverá executar o Databricks Runtime 13.3 LTS ou superior.

Importante

Se você tiver dúvidas sobre esses pré-requisitos, entre em contato com o administrador da sua conta.

Etapa 1: Criar um cluster

Para criar um cluster, faça o seguinte:

  1. Entre no seu espaço de trabalho do Azure Databricks.
  2. Na barra lateral, clique em Novo>Cluster.
  3. Na interface do usuário dos clusters, especifique um nome exclusivo para o cluster.
  4. Se o caminho para os dados de origem for um caminho de volume, para versão de tempo de execução do Databricks Runtime, select 13.2 ou superior.
  5. Clique em Criar cluster.

Etapa 2: Criar um bloco de anotações de exploração de dados

Esta seção descreve como criar um bloco de anotações de exploração de dados para que você possa entender seus dados antes de criar seu pipeline de dados.

  1. Na barra lateral, clique em +Novo>Bloco de Notas.

    O bloco de anotações é anexado automaticamente ao último cluster usado (neste caso, o cluster criado na Etapa 1: Criar um cluster).

  2. Introduza um nome para o bloco de notas.

  3. Clique no botão do idioma e, em seguida, selectPython ou SQL no menu suspenso. Python é selecionada por padrão.

  4. Para confirmar o acesso aos dados de origem no ADLS Gen2, cole o seguinte código numa célula do bloco de notas, clique em e, em seguida, clique Executar Menuem Executar Célula.

    SQL

    LIST '<path-to-source-data>'
    

    Python

    %fs ls '<path-to-source-data>'
    

    Substitua <path-to-source-data> pelo caminho para o diretório que contém seus dados.

    Isso exibe o conteúdo do diretório que contém o conjunto de dados.

  5. Para exibir uma amostra dos registros para entender melhor o conteúdo e o formato de cada registro, cole o seguinte em uma célula do bloco de anotações, clique em e, em Executar Menuseguida, clique em Executar Célula.

    SQL

    SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
    

    Python

    spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
    

    Substitua o seguinte values:

    • <file-format>: Um formato de ficheiro suportado. Consulte Opções de formato de arquivo.
    • <path to source data>: O caminho para um arquivo no diretório que contém seus dados.

    Isso exibe os dez primeiros registros do arquivo especificado.

Etapa 3: Ingerir dados brutos

Para ingerir dados brutos, faça o seguinte:

  1. Na barra lateral, clique em Novo>Bloco de Notas.

    O bloco de anotações é anexado automaticamente ao último cluster usado (neste caso, o cluster criado anteriormente neste artigo).

  2. Introduza um nome para o bloco de notas.

  3. Clique no botão de idioma, e depois selecione select,Python ou SQL no menu suspenso. Python é selecionada por padrão.

  4. Cole o seguinte código em uma célula do bloco de anotações:

    SQL

    CREATE OR REFRESH STREAMING TABLE
      <table-name>
    AS SELECT
      *
    FROM
      STREAM read_files(
        '<path-to-source-data>',
        format => '<file-format>'
      )
    

    Python

    @dlt.table(table_properties={'quality': 'bronze'})
    def <table-name>():
      return (
         spark.readStream.format('cloudFiles')
         .option('cloudFiles.format', '<file-format>')
         .load(f'{<path-to-source-data>}')
     )
    

    Substitua o seguinte values:

    • <table-name>: Um nome para o table que conterá os registros ingeridos.
    • <path-to-source-data>: O caminho para os dados de origem.
    • <file-format>: Um formato de ficheiro suportado. Consulte Opções de formato de arquivo.

Nota

O Delta Live Tables não foi projetado para ser executado interativamente em células de notebook. A execução de uma célula que contém a sintaxe Delta Live Tables em um bloco de anotações retorna uma mensagem sobre se a consulta é sintaticamente válida, mas não executa a lógica de consulta. A etapa a seguir descreve como criar um pipeline a partir do bloco de anotações de ingestão que você acabou de criar.

Etapa 4: Criar e publicar um pipeline

Para criar um pipeline e publicá-lo no Unity Catalog, faça o seguinte:

  1. Na barra lateral, clique em Fluxos de Trabalho, clique no separador Delta Live Tables e, em seguida, clique em Criar pipeline.
  2. Insira um nome para seu pipeline.
  3. Para o modo Pipeline, foi acionado.
  4. Para código-fonte, select o bloco de anotações que contém o código-fonte do pipeline.
  5. Para destino, selectUnidade Catalog.
  6. Para garantir que seu seja gerenciado pelo Unity e que qualquer usuário com acesso ao pai possa consultá-lo, um e um de destino nas listas suspensas.
  7. Se não tiver permissão de criação de cluster, select uma política de Cluster que ofereça suporte ao Delta Live Tables no menu suspenso list.
  8. Para Advanced, o do Canal para Preview.
  9. Aceite todos os outros values padrão e clique em Criar.

Etapa 5: Agendar o pipeline

Para agendar o pipeline, faça o seguinte:

  1. Na barra lateral, clique em Delta Live Tables.
  2. Clique no nome do pipeline que você deseja agendar.
  3. Clique em Agendar>Adicionar uma agenda.
  4. Em Nome do trabalho, insira um nome para o trabalho.
  5. Set o Agendamento para Agendado.
  6. Especifique o período, a hora de início e o fuso horário.
  7. Configure um ou mais endereços de e-mail para receber alertas sobre início, sucesso ou falha do pipeline.
  8. Clique em Criar.

Próximos passos

  • Grant utilizadores devem aceder ao novo table. Para obter mais informações, consulte Unity Catalog privilégios e objetos protegíveis.
  • Os utilizadores com acesso ao novo agora podem consultar o em um notebook ou usar o editor Databricks SQL .