Copiar dados do Azure Data Lake Storage Gen1 para Gen2 com o Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

O Azure Data Lake Storage Gen2 é um conjunto de recursos dedicados à análise de Big Data que está integrado ao Armazenamento de blobs do Azure. Você pode usá-lo para fazer interface com seus dados usando os paradigmas de sistema de arquivos e armazenamento de objetos.

Se você estiver usando o Azure Data Lake Storage Gen1, avalie a nova funcionalidade do Azure Data Lake Storage Gen2 copiando dados do Data Lake Storage Gen1 para o Gen2 por meio do Azure Data Factory.

O Azure Data Factory é um serviço de integração de dados baseado em nuvem completamente gerenciado. Ele pode ser usado para popular o data lake com dados de um conjunto avançado de armazenamentos de dados locais e baseados em nuvem e economizar tempo durante a criação das soluções de análise. Para obter uma lista de conectores compatíveis, consulte a tabela Armazenamentos de dados com suporte.

O Azure Data Factory oferece uma solução de movimentação de dados gerenciados de expansão. Graças à arquitetura de expansão do Data Factory, é possível ingerir dados com alta taxa de transferência. Para obter mais informações, confira o Desempenho da atividade Copy.

Este artigo mostra como usar a ferramenta de cópia de dados do Data Factory para copiar dados do Azure Data Lake Storage Gen1 para o Azure Data Lake Storage Gen2. Você pode seguir as etapas semelhantes para copiar dados de outros tipos de armazenamentos de dados.

Pré-requisitos

  • Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Conta do Azure Data Lake Store Gen1 contendo dados.
  • Conta de Armazenamento do Azure com o Data Lake Storage Gen2 habilitado. Se você ainda não tem conta de armazenamento, crie uma.

Criar uma data factory

  1. No menu à esquerda, selecione Criar um recurso > Dados + Análise > Data Factory.

    Captura de tela mostrando a seleção do Data Factory no painel Novo.

  2. Na página Novo data factory, forneça os valores para os campos que estão mostrados na imagem a seguir:

    Captura de tela mostrando a página Novo data factory.

    • Name: Insira um nome globalmente exclusivo para o Azure Data Factory. Se você receber o erro "Nome do Data factory "LoadADLSDemo" não está disponível," digite um nome diferente para o data factory. Por exemplo, use o nome seunomeADFTutorialDataFactory. Crie o data factory novamente. Para ver as regras de nomenclatura de artefatos do Data Factory, confira Regras de nomenclatura do Data Factory.
    • Assinatura: Selecione a assinatura do Azure para criar o Data Factory.
    • Grupo de Recursos: selecione um grupo de recursos existente na lista suspensa. Você também pode selecionar a opção Criar novo e inserir o nome de um grupo de recursos. Para saber mais sobre grupos de recursos, confira Usar grupos de recursos para gerenciar recursos do Azure.
    • Versão: Selecione V2.
    • Localização: Selecione o local para o data factory. Somente os locais com suporte são exibidos na lista suspensa. Os armazenamentos de dados usados pelo data factory podem estar em outras localizações e regiões.
  3. Selecione Criar.

  4. Após a conclusão da criação, vá para o seu data factory. Você verá a home page Data Factory conforme mostrado na imagem a seguir:

    Home page do Azure Data Factory, com o bloco Abrir Azure Data Factory Studio.

  5. Selecione Abrir no bloco Abrir Estúdio do Azure Data Factory para iniciar o aplicativo Data Integration em uma guia separada.

Carregar dados no Azure Data Lake Store Gen2

  1. Na página inicial, selecione o bloco Ingerir para a inicialização da ferramenta de cópia de dados.

    Captura de tela que mostra a página inicial do ADF.

  2. Na página Propriedades, escolha Tarefa de cópia interna em Tipo de tarefa e Executar uma vez agora em Cadência ou agendamento da tarefa e selecione Avançar.

  3. Na página Armazenamento de dados de origem, selecione + Nova conexão.

  4. Selecione Azure Data Lake Storage Gen1 na galeria de conectores e clique em Continuar.

    Captura de tela mostrando a página de seleção da conexão do Azure Data Lake Storage Gen1.

  5. Na página Nova conexão (Azure Data Lake Storage Gen1) , siga estas etapas:

    1. Selecione o Data Lake Storage Gen1 para o nome da conta e especifique ou valide o Locatário.
    2. Selecione Testar conectividade para validar as configurações. Em seguida, selecione Criar.

    Importante

    Neste passo a passo, você deve usar uma identidade gerenciada para recursos do Azure para autenticar o Azure Data Lake Storage Gen1. Para conceder à identidade gerenciada as permissões corretas no Azure Data Lake Storage Gen1, siga estas instruções.

    Captura de tela mostrando a configuração da conexão do Azure Data Lake Storage Gen1.

  6. Na página Armazenamento de dados de origem, siga estas etapas:

    1. Selecione a conexão criada recentemente na seção Conexão.
    2. Em Pasta ou arquivo, navegue até a pasta e o arquivo que receberá a cópia. Selecione a pasta ou o arquivo e clique em OK.
    3. Especifique o comportamento de cópia marcando as opções Recursivamente e Cópia binária. Selecione Avançar.

    Captura de tela que mostra a página do armazenamento de dados de origem.

  7. Na página Armazenamento de dados de destino, selecione + Nova conexão > Azure Data Lake Storage Gen2 > Continuar.

    Captura de tela mostrando a página de seleção da conexão do Azure Data Lake Storage Gen2.

  8. Na página Nova conexão (Azure Data Lake Storage Gen2) , siga estas etapas:

    1. Selecione a conta compatível do Data Lake Storage Gen2 na lista suspensa Nome da conta de armazenamento.
    2. Selecione Criar para criar a conexão.

    Captura de tela mostrando a configuração da conexão do Azure Data Lake Storage Gen2.

  9. Na página Armazenamento de dados de destino, siga estas etapas:

    1. Selecione a conexão criada recentemente no bloco de Conexão.
    2. Em Caminho da pasta, insira copyfromadlsgen1 como o nome da pasta de saída e selecione Avançar. O Data Factory criará as subpastas e o sistema de arquivos do Azure Data Lake Storage Gen2 correspondentes durante a cópia, caso eles não existam.

    Captura de tela que mostra a página do armazenamento de dados de destino.

  10. Na página Configurações, especifique CopyFromADLSGen1ToGen2 para o campo Nome da tarefa e selecione Próximo para usar as configurações padrão.

  11. Na página Resumo, analise as configurações e selecione Avançar.

    Captura de tela mostrando a página Resumo.

  12. Na página Implantação, selecione Monitorar para monitorar o pipeline.

    Captura de tela mostrando a página Implantação.

  13. Observe que a guia Monitor à esquerda é selecionada automaticamente. A coluna Nome do pipeline inclui links para ver os detalhes da execução de atividade e executar o pipeline novamente.

    Captura de tela mostrando a página de monitoramento de execuções de pipelines.

  14. Para ver as execuções de atividade associadas à execução de pipeline, selecione o link na coluna Nome do pipeline. Há apenas uma atividade (atividade de cópia) no pipeline. Assim, você vê apenas uma entrada. Para voltar à visualização de execuções de pipeline, selecione o link Todas as execuções do pipeline no menu de trilha na parte superior. Selecione Atualizar para atualizar a lista.

    Captura de tela mostrando a página de monitoramento de execuções de atividades.

  15. Para monitorar os detalhes de execução de cada atividade de cópia, selecione o link Detalhes (imagem de óculos) em Nome da atividade na visualização de monitoramento de atividade. Você pode monitorar detalhes como o volume de dados copiados da fonte para o coletor, taxa de transferência de dados, etapas de execução com duração correspondente e configurações usadas.

    Captura de tela mostrando os detalhes da execução de atividade.

  16. Verifique se os dados serão copiados para a conta do Azure Data Lake Storage Gen2.

Práticas recomendadas

Para avaliar a atualização do Azure Data Lake Storage Gen1 para o Azure Data Lake Storage Gen2 em geral, confira Atualizar soluções de análise de Big data do Azure Data Lake Storage Gen1 para o Azure Data Lake Storage Gen2. As seções a seguir apresentam práticas recomendadas para usar o Data Factory em uma atualização de dados do Data Lake Storage Gen1 para o Data Lake Storage Gen2.

Migração de dados de instantâneo inicial

Desempenho

O ADF oferece uma arquitetura sem servidor que permite o paralelismo em diferentes níveis, possibilitando aos desenvolvedores criar pipelines para utilizar totalmente a largura de banda da rede, bem como a IOPS de armazenamento e a largura de banda para maximizar a taxa de transferência da movimentação de dados para o seu ambiente.

Os clientes migraram petabytes de dados com êxito que consistiam em centenas de milhões de arquivos do Data Lake Storage Gen1 a Gen2, com uma taxa de transferência sustentada de 2 GBps e superior.

É possível obter grandes velocidades de movimentação de dados por meio de diferentes níveis de paralelismo:

  • Uma só atividade de cópia pode aproveitar os recursos de computação escalonáveis: ao usar o Azure Integration Runtime, você pode especificar até 256 unidades de integração de dados (DIUs) para cada atividade de cópia por meio da computação sem servidor; ao usar o runtime de integração auto-hospedada, você pode escalar verticalmente o computador no modo manual ou escalá-lo horizontalmente para vários computadores (até quatro nós) e uma só atividade de cópia fará a partição do conjunto de arquivos em todos os nós.
  • Uma só atividade de cópia faz leituras e gravações no armazenamento de dados usando vários threads.
  • O fluxo de controle do ADF pode iniciar várias atividades de cópia em paralelo, por exemplo, usando o loop For Each.

Partições de dados

Se o tamanho total dos dados no Data Lake Storage Gen1 for menor que 10 TB e o número de arquivos for menor que 1 milhão, você poderá copiar todos os dados em uma única execução da atividade de cópia. Particione os dados caso você tenha uma quantidade maior de dados para copiar ou queira a flexibilidade de gerenciar a migração de dados em lotes e fazer com que cada um deles seja concluído em um determinado intervalo de tempo. O particionamento também reduz o risco de algum problema inesperado.

A maneira de particionar os arquivos é usar name range- listAfter/listBefore na propriedade de atividade de cópia. Cada atividade de cópia pode ser configurada para copiar uma partição por vez, para que várias atividades de cópia possam copiar dados de uma única conta do Data Lake Storage Gen1 simultaneamente.

Limitação de taxa

Como melhor prática, realize um POC de desempenho com um conjunto de dados de exemplo representativo, para determinar um tamanho de partição apropriado.

  1. Comece com uma só partição e uma só atividade de cópia com a configuração padrão de DIU. Recomenda-se definir sempre a Cópia paralela como vazia (padrão) . Se a taxa de transferência da cópia não for boa o suficiente, identifique e resolva os gargalos de desempenho seguindo as Etapas de ajuste de desempenho.

  2. Aumente gradualmente a configuração de DIU até atingir o limite de largura de banda da sua rede ou o limite de IOPS/largura de banda dos armazenamentos de dados ou se você tiver atingido o máximo de 256 DIU permitido em uma só atividade de cópia.

  3. Se você maximizou o desempenho de uma única atividade de cópia, mas ainda não atingiu os limites superiores de taxa de transferência do ambiente, execute várias atividades de cópia em paralelo.

Quando você observar um número significativo de erros de limitação no monitoramento de atividade de cópia, você terá atingido o limite de capacidade da conta de armazenamento. O ADF tentará superar cada erro de limitação automaticamente para garantir que não haja perda de dados, mas muitas tentativas também afetam a taxa de transferência da cópia. Nesse caso, recomenda-se reduzir o número de atividades de cópia em execução simultaneamente para evitar uma quantidade significativa de erros de limitação. Se você tem usado a atividade de cópia única para copiar dados, é recomendado reduzir as DIUs.

Migração de dados delta

Você pode usar várias abordagens para carregar somente arquivos novos ou atualizados do Data Lake Storage Gen1:

  • Carregue arquivos novos ou atualizados por tempo, pasta particionada ou nome de arquivo. Um exemplo é /2019/05/13/*.
  • Carregue arquivos novos ou atualizados por LastModifiedDate. Se você estiver copiando grandes quantidades de arquivos, faça as partições primeiro para evitar o resultado de baixa taxa de transferência da atividade de cópia única, verificando toda a conta do Data Lake Storage Gen1 para identificar novos arquivos.
  • Identifique arquivos novos ou atualizados por qualquer ferramenta ou solução de terceiros. Em seguida, transmita o nome do arquivo ou da pasta ao pipeline do Data Factory por meio de parâmetro, tabela ou arquivo.

A frequência correta para fazer carga incremental depende do total de arquivos no Azure Data Lake Storage Gen1 e do volume de arquivos novos ou atualizados a serem carregados a cada vez.

Segurança de rede

Por padrão, o ADF transfere dados do Azure Data Lake Storage Gen1 para o Gen2 usando a conexão criptografada via protocolo HTTPS. O HTTPS fornece a criptografia de dados em trânsito e impede ataques de interceptação e man-in-the-middle.

Como alternativa, se você não quiser que os dados sejam transferidos pela Internet pública, obtenha maior segurança transferindo os dados a través de uma rede particular.

Preservar ACLs

Se você quiser replicar as ACLs junto com arquivos de dados ao atualizar do Data Lake Storage Gen1 para o Data Lake Storage Gen2, confira Preservar ACLs do Data Lake Storage Gen1.

Resiliência

Em uma só execução de atividade de cópia, o ADF tem um mecanismo de repetição interno para lidar com um certo nível de falhas transitórias nos armazenamentos de dados ou na rede subjacente. Se você migrar mais de 10 TB de dados, será recomendável particionar os dados para reduzir o risco de problemas inesperados.

Você também pode habilitar a tolerância a falhas na atividade de cópia para ignorar erros predefinidos. A verificação adicional da consistência dos dados pode também ser habilitada a fim de garantir que os dados sejam copiados com êxito do repositório de origem para o de destino e também que seja verificada a consistência deles entre os repositórios de origem e de destino.

Permissões

No Data Factory, o conector do Data Lake Storage Gen1 dá suporte a entidade de serviço e identidade gerenciada para autenticações de recursos do Azure. O conector do Data Lake Storage Gen2 dá suporte a chave de conta, entidade de serviço e identidade gerenciada para autenticações de recursos do Azure. Para capacitar o Data Factory a navegar e copiar todos os arquivos ou ACLs (listas de controle de acesso) de que você precisa, conceda permissões altas o suficiente para a conta fornecida por você acessar, ler ou gravar todos os arquivos e definir ACLs se você assim desejar. Conceda a ela uma função de superusuário ou proprietário durante o período de migração.

Próximas etapas