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

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

O Azure Data Lake Storage Gen2 é um conjunto de recursos dedicados à análise de big data que é incorporado ao armazenamento de Blob do Azure. Pode utilizá-lo para interagir com os dados ao utilizar os paradigmas de armazenamento de objetos e do sistema de ficheiros.

Se você usa atualmente o Azure Data Lake Storage Gen1, pode avaliar o Azure Data Lake Storage Gen2 copiando dados do Data Lake Storage Gen1 para o Gen2 usando o Azure Data Factory.

O Azure Data Factory é um serviço de integração de dados baseado na nuvem totalmente gerido. Você pode usar o serviço para preencher o lago com dados de um conjunto avançado de armazenamentos de dados locais e baseados em nuvem e economizar tempo ao criar suas soluções de análise. Para obter uma lista de conectores suportados, consulte a tabela de Armazenamentos de dados suportados.

O Azure Data Factory oferece uma solução de movimentação de dados gerenciada em expansão. Devido à arquitetura de expansão do Data Factory, ele pode ingerir dados em uma alta taxa de transferência. Para obter mais informações, consulte Copiar desempenho da atividade.

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 etapas semelhantes para copiar dados de outros tipos de armazenamentos de dados.

Pré-requisitos

  • Uma subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Conta do Azure Data Lake Storage Gen1 com dados nela.
  • Conta de Armazenamento do Azure com o Data Lake Storage Gen2 habilitado. Se não tiver uma conta de armazenamento, crie uma conta.

Criar uma fábrica de dados

  1. Se você ainda não criou sua fábrica de dados, siga as etapas em Guia de início rápido: criar uma fábrica de dados usando o portal do Azure e o Azure Data Factory Studio para criar uma. Depois de criá-lo, navegue até o data factory no portal do Azure.

    Home page para o Azure Data Factory, com o bloco Open Azure Data Factory Studio.

  2. Selecione Abrir no bloco Abrir o Azure Data Factory Studio para iniciar o aplicativo Integração de Dados em uma guia separada.

Carregar dados para o Azure Data Lake Storage Gen2

  1. Na página inicial, selecione o bloco Ingest para iniciar a 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, escolha Executar uma vez agora em Cadência da tarefa ou agendamento de tarefas e, em seguida, 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 selecione 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 conexão para validar as configurações. Depois, selecione Criar.

    Importante

    Neste passo a passo, você usa uma identidade gerenciada para recursos do Azure para autenticar seu Azure Data Lake Storage Gen1. Para conceder à identidade gerenciada as permissões adequadas 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, conclua as etapas a seguir.

    1. Selecione a conexão recém-criada na seção Conexão .
    2. Em Arquivo ou pasta, navegue até a pasta e o arquivo que você deseja copiar. Selecione a pasta ou arquivo e selecione OK.
    3. Especifique o comportamento de cópia selecionando as opções de cópia recursiva e binária. Selecione Seguinte.

    Captura de tela mostrando a página de armazenamento de dados de origem.

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

    Captura de ecrã a mostrar a página de seleção da ligação Azure Data Lake Storage Gen2.

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

    1. Selecione sua conta compatível com o Data Lake Storage Gen2 na lista suspensa Nome da conta de armazenamento.
    2. Selecione Criar para criar a ligaçã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, conclua as etapas a seguir.

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

    Captura de tela mostrando a página de armazenamento de dados de destino.

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

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

    Captura de ecrã a mostrar a página Resumo.

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

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

  13. Tenha em atenção que o separador Monitorização à esquerda é selecionado automaticamente. A coluna Nome do pipeline inclui links para exibir detalhes da execução da atividade e executar novamente o pipeline.

    Captura de tela mostrando a página de execução do pipeline de monitoramento.

  14. Para exibir as execuções de atividade associadas à execução do pipeline, selecione o link na coluna Nome do pipeline . Há apenas uma atividade (atividade copiar) no pipeline, pelo que só vai ver uma entrada. Para voltar para a exibição de execuções de pipeline, selecione o link Todas as execuções de pipeline no menu de trilha na parte superior. Selecione Atualizar para atualizar a lista.

    Captura de tela mostrando a página de execução da atividade de monitoramento.

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

    Captura de ecrã a mostrar os detalhes da execução da atividade.

  16. Verifique se os dados foram copiados para sua conta do Azure Data Lake Storage Gen2.

Melhores práticas

Para avaliar a atualização do Azure Data Lake Storage Gen1 para o Azure Data Lake Storage Gen2 em geral, consulte Atualizar suas 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 para uma atualização de dados do Data Lake Storage Gen1 para o Data Lake Storage Gen2.

Migração inicial de dados de snapshot

Desempenho

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

Os clientes migraram com sucesso petabytes de dados que consistem em centenas de milhões de arquivos do Data Lake Storage Gen1 para o Gen2, com uma taxa de transferência sustentada de 2 GBps ou mais.

Você pode obter maiores velocidades de movimentação de dados aplicando diferentes níveis de paralelismo:

  • Uma única atividade de cópia pode tirar proveito dos recursos de computação escaláveis: ao usar o Tempo de Execução de Integração do Azure, você pode especificar até 256 unidades de integração de dados (DIUs) para cada atividade de cópia de maneira sem servidor; ao usar o Tempo de Execução de Integração auto-hospedado, você pode dimensionar manualmente a máquina ou dimensionar para várias máquinas (até 4 nós), e uma única atividade de cópia particionará seu conjunto de arquivos em todos os nós.
  • Uma única atividade de cópia lê e grava 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 For Each loop.

Partições de dados

Se o tamanho total dos dados no Data Lake Storage Gen1 for inferior a 10 TB e o número de arquivos for inferior a 1 milhão, você poderá copiar todos os dados em uma única execução de atividade de cópia. Se você tiver uma quantidade maior de dados para copiar ou quiser a flexibilidade de gerenciar a migração de dados em lotes e concluir cada um deles dentro de um período de tempo específico, particione os dados. O particionamento também reduz o risco de qualquer problema inesperado.

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

Rate limiting (Limitação de taxa)

Como prática recomendada, conduza um POC de desempenho com um conjunto de dados de exemplo representativo, para que você possa determinar um tamanho de partição apropriado.

  1. Comece com uma única partição e uma única atividade de cópia com a configuração DIU padrão. A cópia paralela é sempre sugerida para ser definida como vazia (padrão). Se a taxa de transferência de cópia não for boa para você, 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 até atingir o máximo de 256 DIU permitido em uma única 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 seu ambiente, poderá executar várias atividades de cópia em paralelo.

Quando você vê um número significativo de erros de limitação do monitoramento da atividade de cópia, isso indica que você atingiu o limite de capacidade da sua conta de armazenamento. O ADF tentará novamente automaticamente superar cada erro de limitação para garantir que não haja perda de dados, mas muitas novas tentativas também podem degradar a taxa de transferência da cópia. Nesse caso, você é encorajado a reduzir o número de atividades de cópia em execução simultânea para evitar quantidades significativas de erros de limitação. Se você tem usado a atividade de cópia única para copiar dados, então você é encorajado a reduzir a DIU.

Migração de dados Delta

Você pode usar várias abordagens para carregar somente os 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 partições primeiro para evitar a baixa taxa de transferência de cópia resultante da atividade de cópia única verificando toda a sua 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, passe o nome do arquivo ou pasta para o pipeline do Data Factory por meio de um parâmetro ou de uma tabela ou arquivo.

A frequência adequada para fazer carga incremental depende do número total de arquivos no Azure Data Lake Storage Gen1 e do volume de arquivos novos ou atualizados a serem carregados sempre.

Segurança da rede

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

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

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, consulte Preservar ACLs do Data Lake Storage Gen1.

Resiliência

Dentro de uma única execução de atividade de cópia, o ADF tem mecanismo de repetição integrado para que possa 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, é recomendável particioná-los para reduzir o risco de problemas inesperados.

Você também pode habilitar a tolerância a falhas na atividade de cópia para ignorar os erros predefinidos. A verificação de consistência de dados na atividade de cópia também pode ser habilitada para fazer verificações adicionais para garantir que os dados não apenas sejam copiados com êxito do armazenamento de origem para o de destino, mas também verificados para serem consistentes entre o armazenamento de origem e de destino.

Permissões

No Data Factory, o conector Data Lake Storage Gen1 dá suporte à entidade de serviço e à identidade gerenciada para autenticações de recursos do Azure. O conector Data Lake Storage Gen2 dá suporte à chave de conta, entidade de serviço e identidade gerenciada para autenticações de recursos do Azure. Para tornar o Data Factory capaz de navegar e copiar todos os arquivos ou listas de controle de acesso (ACLs), você precisará conceder permissões altas o suficiente à conta para acessar, ler ou gravar todos os arquivos e definir ACLs, se desejar. Você deve conceder à conta uma função de superusuário ou proprietário durante o período de migração e remover as permissões elevadas assim que a migração for concluída.