Share via


Azure Data Lake Storage padrões e diretrizes de migração

Pode migrar os seus dados, cargas de trabalho e aplicações do Azure Data Lake Storage Gen1 para Azure Data Lake Storage Gen2. Este artigo explica a abordagem de migração recomendada e abrange os diferentes padrões de migração e quando utilizar cada um deles. Para uma leitura mais fácil, este artigo utiliza o termo Gen1 para fazer referência a Azure Data Lake Storage Gen1 e o termo Gen2 para fazer referência a Azure Data Lake Storage Gen2.

Nota

Azure Data Lake Storage Gen1 foi descontinuado. Veja o anúncio de descontinuação aqui. Data Lake Storage Gen1 recursos já não estão acessíveis. Se precisar de assistência especial, contacte-nos.

Azure Data Lake Storage Gen2 baseia-se no armazenamento de Blobs do Azure e fornece um conjunto de capacidades dedicadas à análise de macrodados. Data Lake Storage Gen2 combina funcionalidades do Azure Data Lake Storage Gen1, tais como semântica do sistema de ficheiros, diretório e segurança ao nível do ficheiro e dimensionamento com armazenamento em camadas de baixo custo, elevada disponibilidade/recuperação após desastre do armazenamento de Blobs do Azure.

Nota

Como o Gen1 e o Gen2 são serviços diferentes, não existe nenhuma experiência de atualização no local. Para simplificar a migração para o Gen2 com o portal do Azure, veja Migrar Azure Data Lake Storage de Gen1 para Gen2 com o portal do Azure.

Para migrar do Gen1 para o Gen2, recomendamos a seguinte abordagem.

Passo 1: Avaliar a preparação

Passo 2: Preparar a migração

Passo 3: Migrar cargas de trabalho de dados e aplicações

Passo 4: Transferência da Gen1 para a Gen2

Passo 1: Avaliar a preparação

  1. Saiba mais sobre a oferta de Data Lake Storage Gen2, os seus benefícios, custos e arquitetura geral.

  2. Compare as capacidades do Gen1 com as do Gen2.

  3. Reveja uma lista de problemas conhecidos para avaliar eventuais lacunas na funcionalidade.

  4. O Gen2 suporta funcionalidades de armazenamento de Blobs, como o registo de diagnósticos, as camadas de acesso e as políticas de gestão do ciclo de vida do Armazenamento de blobs. Se tiver interesse em utilizar qualquer uma destas funcionalidades, reveja o nível atual de suporte.

  5. Reveja o estado atual do suporte do ecossistema do Azure para garantir que o Gen2 suporta todos os serviços de que as suas soluções dependem.

Passo 2: Preparar a migração

  1. Identifique os conjuntos de dados que irá migrar.

    Aproveite esta oportunidade para limpar conjuntos de dados que já não utiliza. A menos que planeie migrar todos os seus dados de uma só vez, dedure este tempo para identificar grupos lógicos de dados que pode migrar por fases.

    Efetue uma Análise de Envelhecimento (ou semelhante) na sua conta Gen1 para identificar que ficheiros ou pastas permanecem no inventário durante muito tempo ou se estão a tornar obsoletos.

  2. Determine o impacto que uma migração terá na sua empresa.

    Por exemplo, considere se pode pagar algum tempo de inatividade enquanto a migração ocorre. Estas considerações podem ajudá-lo a identificar um padrão de migração adequado e a escolher as ferramentas mais adequadas.

  3. Criar um plano de migração.

    Recomendamos estes padrões de migração. Pode escolher um destes padrões, combiná-los ou criar um padrão personalizado.

Passo 3: Migrar dados, cargas de trabalho e aplicações

Migre dados, cargas de trabalho e aplicações com o padrão que preferir. Recomendamos que valide os cenários de forma incremental.

  1. Crie uma conta de armazenamento e ative a funcionalidade de espaço de nomes hierárquico.

  2. Migrar os seus dados.

  3. Configure serviços nas cargas de trabalho para apontar para o ponto final gen2.

    Para clusters do HDInsight, pode adicionar definições de configuração da conta de armazenamento ao ficheiro %HADOOP_HOME%/conf/core-site.xml. Se planear migrar tabelas externas do Hive do Gen1 para o Gen2, certifique-se de que adiciona definições da conta de armazenamento ao ficheiro %HIVE_CONF_DIR%/hive-site.xml.

    Pode modificar as definições de cada ficheiro com o Apache Ambari. Para encontrar as definições da conta de armazenamento, veja Suporte do Azure do Hadoop: ABFS — Azure Data Lake Storage Gen2. Este exemplo utiliza a fs.azure.account.key definição para ativar a autorização da Chave Partilhada:

    <property>
      <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name>
      <value>your-key-goes-here</value>
    </property>
    

    Para obter ligações para artigos que o ajudam a configurar o HDInsight, o Azure Databricks e outros serviços do Azure para utilizar o Gen2, veja Serviços do Azure que suportam Azure Data Lake Storage Gen2.

  4. Atualize as aplicações para utilizar as APIs Gen2. Veja estes guias:

Ambiente Artigo
Explorador de Armazenamento do Azure Utilizar Explorador de Armazenamento do Azure para gerir diretórios e ficheiros no Azure Data Lake Storage Gen2
.NET Utilizar o .NET para gerir diretórios e ficheiros no Azure Data Lake Storage Gen2
Java Utilizar Java para gerir diretórios e ficheiros no Azure Data Lake Storage Gen2
Python Utilizar o Python para gerir diretórios e ficheiros no Azure Data Lake Storage Gen2
JavaScript (Node.js) Utilizar o JavaScript SDK no Node.js para gerir diretórios e ficheiros no Azure Data Lake Storage Gen2
API REST Azure Data Lake Store REST API
  1. Atualize scripts para utilizar Data Lake Storage Gen2 cmdlets do PowerShell e comandos da CLI do Azure.

  2. Procure referências de URI que contenham a cadeia adl:// em ficheiros de código ou em blocos de notas do Databricks, ficheiros HQL do Apache Hive ou qualquer outro ficheiro utilizado como parte das suas cargas de trabalho. Substitua estas referências pelo URI formatado gen2 da sua nova conta de armazenamento. Por exemplo: o URI gen1: adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile pode tornar-se abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile.

  3. Configure a segurança na sua conta para incluir funções do Azure, segurança ao nível dos ficheiros e pastas e firewalls e redes virtuais do Armazenamento do Microsoft Azure.

Passo 4: Transferência da Gen1 para a Gen2

Depois de ter a certeza de que as suas aplicações e cargas de trabalho estão estáveis no Gen2, pode começar a utilizar o Gen2 para satisfazer os seus cenários empresariais. Desative os pipelines restantes em execução no Gen1 e desative a sua conta Gen1.

Capacidades gen1 vs Gen2

Esta tabela compara as capacidades do Gen1 com as do Gen2.

Área Gen1 Gen2
Organização de dados Espaço de nomes hierárquico
Suporte para ficheiros e pastas
Espaço de nomes hierárquico
Suporte para contentores, ficheiros e pastas
Georredundância LRS LRS, ZRS, GRS, RA-GRS
Autenticação Microsoft Entra identidade gerida
Principais de serviço
Microsoft Entra identidade gerida
Principais de serviço
Chave de Acesso Partilhado
Autorização Gestão - RBAC do Azure
Dados - ACLs
Gestão - RBAC do Azure
Dados - ACLs, RBAC do Azure
Encriptação – Dados inativos Lado do servidor – com chaves geridas pela Microsoft ou geridas pelo cliente Lado do servidor – com chaves geridas pela Microsoft ou geridas pelo cliente
Suporte de VNET Integração de VNET Pontos Finais de Serviço, Pontos Finais Privados
Experiência de programador REST, .NET, Java, Python, PowerShell, CLI do Azure Disponível geralmente - REST, .NET, Java, Python
Pré-visualização pública - JavaScript, PowerShell, CLI do Azure
Registos do recurso Registos clássicos
Integrado no Azure Monitor
Registos clássicos - Geralmente disponíveis
Integrado no Azure Monitor – Pré-visualização
Ecossistema HDInsight (3.6), Azure Databricks (3.1 e superior), Azure Synapse Analytics, ADF HDInsight (3.6, 4.0), Azure Databricks (5.1 e superior), Azure Synapse Analytics, ADF

Padrões de Gen1 a Gen2

Escolha um padrão de migração e, em seguida, modifique esse padrão conforme necessário.

Padrão de migração Detalhes
Lift-and-Shift O padrão mais simples. Ideal se os pipelines de dados puderem permitir um período de indisponibilidade.
Cópia incremental Semelhante a lift-and-shift, mas com menos tempo de inatividade. Ideal para grandes quantidades de dados que demoram mais tempo a copiar.
Pipeline duplo Ideal para pipelines que não podem pagar qualquer período de indisponibilidade.
Sincronização bidirecional Semelhante ao pipeline duplo, mas com uma abordagem mais faseada que é adequada para pipelines mais complicados.

Vamos analisar mais detalhadamente cada padrão.

Padrão de migração lift-and-shift

Este é o padrão mais simples.

  1. Pare todas as escritas no Gen1.

  2. Mover dados de Gen1 para Gen2. Recomendamos Azure Data Factory ou através do portal do Azure. As ACLs copiam com os dados.

  3. Aponte as operações de ingestão e as cargas de trabalho para Gen2.

  4. Desativar o Gen1.

Veja o nosso código de exemplo para o padrão lift-and-shift no nosso exemplo de migração Lift and Shift.

padrão lift-and-shift

Considerações para utilizar o padrão lift-and-shift

  • Transferência de Gen1 para Gen2 para todas as cargas de trabalho ao mesmo tempo.

  • Espere um período de indisponibilidade durante a migração e o período de transferência.

  • Ideal para pipelines que podem permitir tempo de inatividade e todas as aplicações podem ser atualizadas de uma só vez.

Dica

Considere utilizar o portal do Azure para reduzir o tempo de inatividade e reduzir o número de passos necessários para concluir a migração.

Padrão de cópia incremental

  1. Comece a mover dados de Gen1 para Gen2. Recomendamos Azure Data Factory. As ACLs copiam com os dados.

  2. Copiar dados novos de forma incremental a partir do Gen1.

  3. Depois de todos os dados serem copiados, pare todas as escritas no Gen1 e aponte cargas de trabalho para Gen2.

  4. Desativar o Gen1.

Veja o nosso código de exemplo para obter o padrão de cópia incremental no nosso exemplo de migração de cópia incremental.

Padrão de cópia incremental

Considerações para utilizar o padrão de cópia incremental:

  • Transferência de Gen1 para Gen2 para todas as cargas de trabalho ao mesmo tempo.

  • Espere um período de indisponibilidade apenas durante o período de transferência.

  • Ideal para pipelines em que todas as aplicações foram atualizadas de uma só vez, mas a cópia de dados requer mais tempo.

Padrão de pipeline duplo

  1. Mover dados de Gen1 para Gen2. Recomendamos Azure Data Factory. As ACLs copiam com os dados.

  2. Ingerir novos dados para Gen1 e Gen2.

  3. Aponte cargas de trabalho para Gen2.

  4. Pare todas as escritas no Gen1 e, em seguida, desativar o Gen1.

Veja o nosso código de exemplo para obter o padrão de pipeline duplo no nosso exemplo de migração de Pipeline Duplo.

Padrão de pipeline duplo

Considerações para utilizar o padrão de pipeline duplo:

  • Os pipelines Gen1 e Gen2 são executados lado a lado.

  • Suporta tempo de inatividade zero.

  • Ideal em situações em que as cargas de trabalho e as aplicações não podem suportar qualquer período de indisponibilidade e pode ingerir em ambas as contas de armazenamento.

Padrão de sincronização bidirecional

  1. Configure a replicação bidirecional entre Gen1 e Gen2. Recomendamos WanDisco. Oferece uma funcionalidade de reparação para dados existentes.

  2. Quando todos os movimentos estiverem concluídos, pare todas as escritas no Gen1 e desative a replicação bidirecional.

  3. Desativar o Gen1.

Veja o nosso código de exemplo para obter o padrão de sincronização bidirecional no nosso exemplo de migração da Sincronização Bidirecional.

Padrão bidirecional

Considerações para utilizar o padrão de sincronização bidirecional:

  • Ideal para cenários complexos que envolvem um grande número de pipelines e dependências em que uma abordagem faseada pode fazer mais sentido.

  • O esforço de migração é elevado, mas fornece suporte lado a lado para Gen1 e Gen2.

Passos seguintes

Ver também