Partilhar via


Atualizar Armazenamento de Blobs do Azure com capacidades de Azure Data Lake Storage Gen2

Este artigo ajuda-o a ativar um espaço de nomes hierárquico e a desbloquear capacidades, tais como segurança ao nível dos ficheiros e diretórios e operações mais rápidas. Estas capacidades são amplamente utilizadas por cargas de trabalho de análise de macrodados e são referidas coletivamente como Azure Data Lake Storage Gen2. As capacidades mais populares incluem:

  • Débito mais elevado, operações de entrada/saída por segundo (IOPS) e limites de capacidade de armazenamento.

  • Operações mais rápidas (como operações de mudança de nome) porque pode operar em URIs de nós individuais.

  • Motor de consulta eficiente que transfere apenas os dados necessários para realizar uma determinada operação.

  • Segurança ao nível do contentor, diretório e ficheiro.

Para saber mais sobre os mesmos, consulte Introdução ao Azure Data Lake Storage Gen2.

Este artigo ajuda-o a avaliar o impacto nas cargas de trabalho, aplicações, custos, integrações de serviços, ferramentas, funcionalidades e documentação. Certifique-se de que revê estes impactos cuidadosamente. Quando estiver pronto para atualizar uma conta, veja este guia passo a passo: Atualizar Armazenamento de Blobs do Azure com capacidades de Azure Data Lake Storage Gen2.

Importante

Uma atualização é definitiva. Não há forma de reverter a conta depois de ter feito a atualização. Recomendamos que valide a atualização num ambiente de não produção.

Impacto na disponibilidade

Certifique-se de que planeia algum tempo de inatividade na sua conta enquanto o processo de atualização é concluído. As operações de escrita estão desativadas enquanto a sua conta está a ser atualizada. As operações de leitura não estão desativadas, mas recomendamos vivamente que suspenda as operações de leitura, uma vez que essas operações podem desestabilizar o processo de atualização.

Impacto nas cargas de trabalho e aplicações

As APIs de blobs funcionam com contas que têm um espaço de nomes hierárquico, pelo que a maioria das aplicações que interagem com a sua conta através destas APIs continuam a funcionar sem modificação.

Para obter uma lista completa de problemas e soluções, veja Problemas conhecidos com as APIs de Armazenamento de Blobs.

Todas as cargas de trabalho do Hadoop que utilizem o controlador de Controlador de Blobs de Armazenamento do Windows Azure (WASB) têm de ser modificadas para utilizar o controlador do Sistema de Ficheiros de Blobs do Azure (ABFS ). Ao contrário do controlador WASB que faz pedidos para o ponto final do serviço Blob, o controlador do ABFS fará pedidos ao ponto final Data Lake Storage da sua conta.

ponto final Data Lake Storage

A sua conta atualizada terá um ponto final de armazenamento do Data Lake. Pode encontrar o URL deste ponto final no portal do Azure ao abrir a página Propriedades da sua conta.

Categoria de fins gerais v2

Não tem de modificar as suas aplicações e cargas de trabalho existentes para utilizar esse ponto final. O acesso multiprotocol no Data Lake Storage permite-lhe utilizar o ponto final do serviço Blob ou o ponto final de armazenamento do Data Lake para interagir com os seus dados.

Os serviços e ferramentas do Azure (como o AzCopy) podem utilizar o ponto final de armazenamento do Data Lake para interagir com os dados na sua conta de armazenamento. Além disso, terá de utilizar este novo ponto final para todas as operações que efetuar com os Data Lake Storage Gen2 SDKs, comandos do PowerShell ou comandos da CLI do Azure.

Diretórios

Uma conta de armazenamento de Blobs que não tenha um espaço de nomes hierárquico organiza ficheiros num paradigma simples, em vez de um paradigma hierárquico. Os blobs estão organizados em diretórios virtuais para imitar uma estrutura de pastas. Um diretório virtual faz parte do nome do blob e é indicado pelo caráter delimitador. Uma vez que um diretório virtual faz parte do nome do blob, não existe como um objeto independente.

A sua nova conta tem um espaço de nomes hierárquico. Isto significa que os diretórios não são virtuais. São objetos concretos e independentes em que pode operar diretamente. Um diretório pode existir sem conter ficheiros. Quando elimina um diretório, todos os ficheiros nesse diretório são removidos. Já não tem de eliminar cada blob individual antes de o diretório desaparecer.

Metadados de blobs

Antes da migração, os metadados do blob estão associados ao nome do blob juntamente com todo o caminho virtual. Após a migração, os metadados são associados apenas ao blob. O caminho virtual para o blob torna-se uma coleção de diretórios. Os metadados de um blob não são aplicados a nenhum desses diretórios.

Colocar operações

Quando carrega um blob e o caminho que especificar inclui um diretório que não existe, a operação cria esse diretório e, em seguida, adiciona o blob ao mesmo. Este comportamento é lógico no contexto de uma estrutura de pastas hierárquica. Numa conta de armazenamento de Blobs que não tenha um espaço de nomes hierárquico, a operação não cria um diretório. Em vez disso, o nome do diretório é adicionado ao nome do blob.

Listar operações

Uma operação Blobs de Lista devolve diretórios e ficheiros. Cada um é listado separadamente. Os diretórios aparecem na lista como blobs de comprimento zero. Numa conta de armazenamento de Blobs que não tenha um espaço de nomes hierárquico, uma operação Blobs de Lista devolve apenas blobs e não diretórios. Se utilizar a operação Caminho do Data Lake Storage Gen2 - Lista, os diretórios serão apresentados como entradas de diretório e não como blobs de comprimento zero.

A ordem da lista também é diferente. Os diretórios e ficheiros aparecem por ordem de pesquisa aprofundada . Uma conta de armazenamento de Blobs que não tenha um espaço de nomes hierárquico lista blobs por ordem lexicográfica .

Operações para mudar o nome dos blobs

Mudar o nome de um blob é muito mais eficiente porque as aplicações cliente podem mudar o nome de um blob numa única operação. Nas contas que não têm um espaço de nomes hierárquico, as ferramentas e as aplicações têm de copiar um blob e, em seguida, eliminar o blob de origem.

Nota

Quando muda o nome de um blob, a última hora modificada do blob não é atualizada. Isto deve-se ao facto de o conteúdo do blob não ter sido alterado.

Impacto nos custos

Não existe nenhum custo para realizar a atualização. Após a atualização, o custo para armazenar os seus dados não é alterado, mas o custo de uma transação é alterado. Utilize estas páginas para avaliar os custos de comparação.

Também pode utilizar a opção Contas de Armazenamento na Calculadora de Preços do Azure para estimar o impacto dos custos após uma atualização.

Além das alterações de preços, considere as poupanças de custos associadas às capacidades de Data Lake Storage Gen2. Geralmente, o total do custo de propriedade diminui devido ao débito mais elevado e às operações otimizadas. O débito mais elevado permite-lhe transferir mais dados em menos tempo. Um espaço de nomes hierárquico melhora a eficiência das operações.

Impacto nas integrações de serviços

Embora a maioria das integrações de serviços do Azure continue a funcionar depois de ativar estas capacidades, algumas permanecem em pré-visualização ou ainda não são suportadas. Veja Serviços do Azure que suportam Azure Data Lake Storage Gen2 para compreender o suporte atual para integrações de serviços do Azure com Data Lake Storage Gen2.

Impacto nas ferramentas, funcionalidades e documentação

Após a atualização, a forma como interage com algumas funcionalidades será alterada. Esta secção descreve essas alterações.

O suporte da funcionalidade Armazenamento de Blobs

Embora a maioria das funcionalidades de armazenamento de Blobs continue a funcionar depois de ativar estas capacidades, algumas permanecem em pré-visualização ou ainda não são suportadas.

Veja Funcionalidades de Armazenamento de Blobs disponíveis no Azure Data Lake Storage Gen2 para compreender o suporte atual para funcionalidades de armazenamento de Blobs com Data Lake Storage Gen2.

Registos de diagnósticos

Se ativar o registo da Análise de armazenamento, tem agora a opção de utilizar o formato de registo da versão 2.0.

Não tem de utilizar esta nova versão. No entanto, todas as operações que são aplicadas ao ponto final de armazenamento do Data Lake são registadas apenas nos registos da versão 2.0. Alguns serviços e ferramentas que utiliza (como o AzCopy) utilizarão esse ponto final para realizar operações na sua conta. Para garantir que captura informações de registo de todas as atividades, considere utilizar o formato de registo da versão 2.0.

Gestão do Ciclo de Vida do Azure

Explica efetivamente que as políticas para mover ou eliminar todos os blobs num diretório não eliminarão o próprio diretório até que todos os blobs dentro dele sejam removidos e o diretório seja removido no dia seguinte.

Event Grid

A sua nova conta tem dois pontos finais: o ponto final de armazenamento do Data Lake e o ponto final do serviço Blob. Os serviços, ferramentas e aplicações podem utilizar qualquer ponto final para operar nos seus dados. Como resultado, uma resposta de evento devolvida pelo Event Grid pode mostrar qualquer um destes dois pontos finais no campo url que descreve o blob afetado.

O JSON seguinte mostra o url de um blob que aparece na resposta do evento quando um blob é criado através do ponto final de serviço blob.

{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "PutBlockList",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 524288,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}

O JSON seguinte mostra o URL de um blob que aparece na resposta do evento quando um blob é criado através do ponto final de armazenamento do Data Lake.

{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
  "subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "CreateFile",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "\"0x8D4BCC2E4835CD0\"",
    "contentType": "text/plain",
    "contentLength": 0,
    "contentOffset": 0,
    "blobType": "BlockBlob",
    "url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "2",
  "metadataVersion": "1"
}

Se as suas aplicações utilizarem o Event Grid, poderá ter de modificar essas aplicações para ter isto em conta.

Explorador de Armazenamento

Os seguintes botões ainda não aparecem no Friso do Explorador de Armazenamento do Azure:

Botão Razão
Copiar URL Ainda não implementado
Gerir instantâneos Ainda não implementado
Anular eliminação Depende das funcionalidades de armazenamento de Blobs ainda não suportadas com Data Lake Storage Gen2

Os seguintes botões comportam-se de forma diferente na sua nova conta.

Botão Comportamento do armazenamento de blobs Data Lake Storage Gen2 comportamento
Pasta A pasta é virtual e desaparece se não adicionar ficheiros à mesma. A pasta existe mesmo sem ficheiros adicionados.
Mudar o Nome Resulta numa cópia e, em seguida, numa eliminação do blob de origem Muda o nome do mesmo blob. Muito mais eficiente.

Documentação

Pode encontrar documentação de orientação para utilizar as capacidades de Data Lake Storage Gen2 aqui: Introdução ao Azure Data Lake Storage Gen2.

Nada mudou relativamente ao local onde encontra a documentação de orientação para todas as funcionalidades de armazenamento de Blobs existentes. Esta documentação de orientação está aqui: Introdução ao armazenamento de Blobs do Azure.

À medida que se desloca entre conjuntos de conteúdos, irá notar algumas ligeiras diferenças de terminologia. Por exemplo, o conteúdo em destaque na Data Lake Storage Gen2 conteúdo pode utilizar o termo sistema de ficheiros e ficheiros em vez de blob e contentor. Os termos ficheiro e sistema de ficheiros estão profundamente enraizados no mundo da análise de macrodados, onde o armazenamento do Data Lake tem um histórico longo. O conteúdo contém estes termos para mantê-lo relacionável com estas audiências. Estes termos não descrevem coisas separadas.

Passos seguintes

Quando estiver pronto para atualizar a sua conta de armazenamento para incluir Data Lake Storage Gen2 capacidades, veja este guia passo a passo.