Dados integrados do Amazon S3

Este artigo descreve como integrar dados a um novo workspace do Databricks do Amazon S3. Você aprenderá como acessar dados de origem com segurança em um local de armazenamento de objetos clouds que corresponda a um volume do Unity Catalog (recomendado) ou a um local externo do Unity Catalog. Em seguida, você aprenderá como ingerir os dados de forma incremental em uma tabela de gerenciamento do Catálogo do Unity usando o Auto Loader com Delta Live Tables.

Observação

Para integrar dados no Databricks SQL em vez de em um Notebook, consulte Carregar tabelas de uso de dados transmissão no Databricks SQL.

Antes de começar

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

  • Acesso a um workspace do Databricks com o Unity Catalog habilitado. Para obter mais informações, consulte Configurar e gerenciar Unity Catalog.

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

  • O caminho para seus dados de origem.

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

    Exemplo de caminho de localização externo: s3://<bucket>/<folder>/

  • Os privilégios USE SCHEMA e CREATE TABLE no esquema no qual você deseja carregar dados.

  • permissão de criação de clusters ou acesso a uma política de cluster que define um cluster de pipeline do Delta Live Tables (campo cluster_type definido como dlt).

    Se o caminho para os dados de origem for um caminho de volume, os clusters deverão executar o Databricks Runtime 13.2 ou acima.

Importante

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

passo 1: criar clusters

Para criar clusters, faça o seguinte:

  1. Entre no seu workspace do Databricks.

  2. Na barra lateral, clique em Novo > clusters.

  3. Na IU de clusters, especifique um nome exclusivo para seu cluster.

  4. Se o caminho para os dados de origem for um caminho de volume, para Databricks Runtime runtime version, selecione 13.2 ou acima.

  5. Clique em Criar clusters.

o passo 2: Crie um Notebookde exploração de dados

Esta seção descreve como criar um Notebook 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 > Notebook.

    O Notebook é automaticamente anexado aos últimos clusters que você usou (neste caso, os clusters que você criou na etapa 1: Criar clusters).

  2. Insira um nome para o Notebook.

  3. Clique no botão de idioma e selecione Python ou SQL no menu dropdown . Python é selecionado por default.

  4. Para confirmar o acesso aos dados de origem no S3, cole o código a seguir em uma célula Notebook , clique em Menu de execução e clique em execução Célula.

    LIST '<path-to-source-data>'
    
    %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 dataset.

  5. Para view uma amostra dos registros e entender melhor o conteúdo e o formato de cada registro, cole o seguinte em uma célula Notebook , clique em Menu de execução e clique em execução Célula.

    SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
    
    spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
    

    Substitua os seguintes valores:

    • <file-format>: um formato de arquivo compatível. 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 primeiros dez registros do arquivo especificado.

o passo 3: Ingerir dados brutos

Para ingerir dados brutos, faça o seguinte:

  1. Na barra lateral, clique em Novo > Notebook.

    O Notebook é automaticamente anexado aos últimos clusters que você usou (neste caso, os clusters que você criou anteriormente neste artigo).

  2. Insira um nome para o Notebook.

  3. Clique no botão de idioma e selecione Python ou SQL no menu dropdown . Python é selecionado por default.

  4. Cole o seguinte código em uma célula Notebook :

    CREATE OR REFRESH STREAMING TABLE
      <table-name>
    AS SELECT
      *
    FROM
      STREAM read_files(
        '<path-to-source-data>',
        format => '<file-format>'
      )
    
    @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 os seguintes valores:

    • <table-name>: um nome para a tabela que conterá os registros assimilados.

    • <path-to-source-data>: o caminho para seus dados de origem.

    • <file-format>: um formato de arquivo compatível. Consulte Opções de formato de arquivo.

Observação

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

o passo 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 fluxo de trabalho, clique na tab Delta Live Tables e, em seguida, clique em Criar pipeline.

  2. Insira um nome para seu pipeline.

  3. Para o modopipeline , selecione Acionado.

  4. Para Source code, selecione o Notebook que contém o código-fonte do pipeline.

  5. Para Destino, selecione Unity Catalog.

  6. Para garantir que sua tabela seja gerenciada pelo Unity Catalog e que qualquer usuário com acesso ao esquema pai possa query -la, selecione um esquema de Catálogo e de Destino nas listas suspensas.

  7. Se você não tiver permissão de criação clusters , selecione uma políticaclusters que dê suporte a Delta Live Tables na lista suspensa.

  8. Para Advanced, defina o canal como Preview.

  9. Aceite todos os outros valores default e clique em Criar.

o passo 5: Agendar o pipeline

Para programar o pipeline, faça o seguinte:

  1. Na barra lateral, clique em Delta Live Tables.

  2. Clique no nome do pipeline que você deseja programar.

  3. Clique em programar > Adicionar um programar.

  4. Em Job name, insira um nome para o trabalho.

  5. Defina o programar como programard.

  6. Especifique o período, a hora de início e o fuso horário.

  7. Configure um ou mais endereços email para receber alertas sobre início, sucesso ou falha do pipeline.

  8. Clique em Criar.

Próximas etapas