Share via


Aggiornamento di Archiviazione BLOB di Azure con funzionalità di Azure Data Lake Storage Gen2

Questo articolo illustra come abilitare uno spazio dei nomi gerarchico e sbloccare funzionalità come la sicurezza a livello di file e directory e operazioni più veloci. Queste funzionalità sono ampiamente usate dai carichi di lavoro di analisi dei Big Data e vengono definite collettivamente Azure Data Lake Storage Gen2. Le funzionalità più diffuse includono:

  • Velocità effettiva superiore, operazioni di input/output al secondo e limiti di capacità di archiviazione.

  • Operazioni più veloci, ad esempio le operazioni di ridenominazione, perché è possibile operare su singoli URI di nodo.

  • Motore di query efficiente che trasferisce solo i dati necessari per eseguire una determinata operazione.

  • Sicurezza a livello di contenitore, directory e file.

Per altre informazioni, vedere Introduzione alle Azure Data Lake Storage Gen2.

Questo articolo illustra come valutare l'impatto su carichi di lavoro, applicazioni, costi, integrazioni di servizi, strumenti, funzionalità e documentazione. Assicurarsi di esaminare attentamente questi impatti. Quando si è pronti per aggiornare un account, vedere questa guida dettagliata: Aggiornare Archiviazione BLOB di Azure con funzionalità di Azure Data Lake Storage Gen2.

Importante

gli aggiornamenti sono unidirezionali. Non è possibile ripristinare l'account dopo aver eseguito l'aggiornamento. È consigliabile convalidare l'aggiornamento in un ambiente non di produzione.

Impatto sulla disponibilità

Assicurarsi di pianificare alcuni tempi di inattività nell'account durante il completamento del processo di aggiornamento. Le operazioni di scrittura vengono disabilitate durante l'aggiornamento dell'account. Le operazioni di lettura non sono disabilitate, ma è consigliabile sospendere le operazioni di lettura, perché tali operazioni potrebbero destabilizzare il processo di aggiornamento.

Impatto su carichi di lavoro e applicazioni

Le API BLOB funzionano con gli account con uno spazio dei nomi gerarchico, quindi la maggior parte delle applicazioni che interagiscono con l'account usando queste API continuano a funzionare senza modifiche.

Per un elenco completo dei problemi e delle soluzioni alternative, vedere Problemi noti con le API di archiviazione BLOB.

Tutti i carichi di lavoro Hadoop che usano il driver WASB (Windows Azure Storage BLOB Driver), devono essere modificati per usare il driver ABFS (Blob File System) di Azure . A differenza del driver WASB che effettua richieste all'endpoint del servizio BLOB, il driver ABFS effettuerà richieste all'endpoint Data Lake Storage dell'account.

endpoint Data Lake Storage

L'account aggiornato avrà un endpoint di Data Lake Storage. È possibile trovare l'URL di questo endpoint nella portale di Azure aprendo la pagina Proprietà dell'account.

Categoria utilizzo generico v2

Non è necessario modificare le applicazioni e i carichi di lavoro esistenti per usare tale endpoint. L'accesso multiprotocolo in Data Lake Storage consente di usare l'endpoint del servizio BLOB o l'endpoint di Archiviazione Data Lake per interagire con i dati.

I servizi e gli strumenti di Azure , ad esempio AzCopy, possono usare l'endpoint di Archiviazione Data Lake per interagire con i dati nell'account di archiviazione. È anche necessario usare questo nuovo endpoint per tutte le operazioni eseguite usando gli SDK Data Lake Storage Gen2, i comandi di PowerShell o l'interfaccia della riga di comando di Azure.

Directory

Un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico organizza i file in un paradigma flat, anziché in un paradigma gerarchico. I BLOB sono organizzati in directory virtuali per simulare una struttura di cartelle. Una directory virtuale costituisce parte del nome del BLOB ed è indicata dal carattere di delimitazione. Poiché una directory virtuale fa parte del nome del BLOB, non esiste effettivamente come oggetto indipendente.

Il nuovo account ha uno spazio dei nomi gerarchico. Ciò significa che le directory non sono virtuali. Sono oggetti concreti e indipendenti su cui è possibile operare direttamente. Una directory può esistere senza contenere alcun file. Quando si elimina una directory, tutti i file in tale directory vengono rimossi. Non è più necessario eliminare ogni singolo BLOB prima che la directory scompaia.

Metadati BLOB

Prima della migrazione, i metadati BLOB sono associati al nome del BLOB insieme all'intero percorso virtuale. Dopo la migrazione, i metadati sono associati solo al BLOB. Il percorso virtuale del BLOB diventa una raccolta di directory. I metadati di un BLOB non vengono applicati ad alcuna di queste directory.

Operazioni Put

Quando si carica un BLOB e il percorso specificato include una directory che non esiste, l'operazione crea tale directory e quindi aggiunge il BLOB. Questo comportamento è logico nel contesto di una struttura di cartelle gerarchica. In un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico, l'operazione non crea una directory. Il nome della directory viene invece aggiunto al nome del BLOB.

Operazioni di elenco

Un'operazione List BLOBs restituisce sia directory che file. Ogni oggetto viene elencato separatamente. Le directory vengono visualizzate nell'elenco come BLOB di lunghezza zero. In un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico, un'operazione List BLOBs restituisce solo BLOB e non directory. Se si usa l'operazione Data Lake Storage Gen2 Percorso - Elenco, le directory verranno visualizzate come voci di directory e non come BLOB di lunghezza zero.

Anche l'ordine di elenco è diverso. Le directory e i file vengono visualizzati in ordine di ricerca approfondito . Un account di archiviazione BLOB che non dispone di uno spazio dei nomi gerarchico elenca i BLOB in ordine lessicografico .

Operazioni per rinominare i BLOB

La ridenominazione di un BLOB è molto più efficiente perché le applicazioni client possono rinominare un BLOB in una singola operazione. Negli account che non dispongono di uno spazio dei nomi gerarchico, gli strumenti e le applicazioni devono copiare un BLOB e quindi eliminare il BLOB di origine.

Nota

Quando si rinomina un BLOB, l'ora dell'ultima modifica del BLOB non viene aggiornata. Ciò è dovuto al fatto che il contenuto del BLOB è invariato.

Impatto sui costi

Non sono previsti costi per eseguire l'aggiornamento. Dopo l'aggiornamento, il costo per archiviare i dati non cambia, ma il costo di una transazione cambia. Usare queste pagine per valutare i costi di confronto.

È anche possibile usare l'opzione Account di archiviazione nel Calcolatore prezzi di Azure per stimare l'impatto dei costi dopo un aggiornamento.

A parte le modifiche ai prezzi, considerare i risparmi sui costi associati alle funzionalità di Data Lake Storage Gen2. Il totale complessivo del costo di proprietà in genere diminuisce a causa di una maggiore velocità effettiva e di operazioni ottimizzate. Una velocità effettiva maggiore consente di trasferire più dati in meno tempo. Uno spazio dei nomi gerarchico migliora l'efficienza delle operazioni.

Impatto sulle integrazioni dei servizi

Anche se la maggior parte delle integrazioni dei servizi di Azure continuerà a funzionare dopo aver abilitato queste funzionalità, alcune di esse rimangono in anteprima o non ancora supportate. Vedere Servizi di Azure che supportano Azure Data Lake Storage Gen2 per comprendere il supporto corrente per le integrazioni dei servizi di Azure con Data Lake Storage Gen2.

Impatto su strumenti, funzionalità e documentazione

Dopo l'aggiornamento, il modo in cui si interagisce con alcune funzionalità cambierà. In questa sezione vengono descritte le modifiche.

Supporto della funzionalità Archiviazione BLOB

Anche se la maggior parte delle funzionalità di archiviazione BLOB continuerà a funzionare dopo aver abilitato queste funzionalità, alcune di esse rimangono in anteprima o non sono ancora supportate.

Vedere Funzionalità di archiviazione BLOB disponibili in Azure Data Lake Storage Gen2 per comprendere il supporto corrente per le funzionalità di archiviazione BLOB con Data Lake Storage Gen2.

Log di diagnostica

Se si abilita la registrazione di Analisi archiviazione, è ora possibile usare il formato di log versione 2.0.

Non è necessario usare questa nuova versione. Tuttavia, tutte le operazioni applicate all'endpoint di Data Lake Storage vengono registrate solo nei log della versione 2.0. Alcuni servizi e strumenti usati (ad esempio AzCopy) useranno tale endpoint per eseguire operazioni sull'account. Per assicurarsi di acquisire informazioni di registrazione da tutte le attività, è consigliabile usare il formato di log versione 2.0.

Gestione del ciclo di vita di Azure

Spiega in modo efficace che i criteri per lo spostamento o l'eliminazione di tutti i BLOB in una directory non elimineranno la directory stessa finché non verranno rimossi tutti i BLOB all'interno e la directory verrà rimossa il giorno successivo.

Griglia di eventi

Il nuovo account ha due endpoint: l'endpoint di archiviazione Data Lake e l'endpoint del servizio BLOB. I servizi, gli strumenti e le applicazioni possono usare entrambi gli endpoint per operare sui dati. Di conseguenza, una risposta evento restituita dalla griglia di eventi può visualizzare uno di questi due endpoint nel campo URL che descrive il BLOB interessato.

Il codice JSON seguente mostra l'URL di un BLOB visualizzato nella risposta evento quando viene creato un BLOB usando l'endpoint del servizio 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"
}

Il codice JSON seguente mostra l'URL di un BLOB visualizzato nella risposta evento quando viene creato un BLOB usando l'endpoint di archiviazione 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 le applicazioni usano griglia di eventi, potrebbe essere necessario modificare tali applicazioni in modo da tenere presente.

Storage Explorer

I pulsanti seguenti non vengono ancora visualizzati nella barra multifunzione di Azure Storage Explorer:

Pulsante Motivo
Copia l'URL Non ancora implementata
Gestire gli snapshot Non ancora implementata
Annullare l'eliminazione Dipende dalle funzionalità di archiviazione BLOB non ancora supportate con Data Lake Storage Gen2

I pulsanti seguenti si comportano in modo diverso nel nuovo account.

Pulsante Comportamento dell'archiviazione BLOB comportamento Data Lake Storage Gen2
Cartella La cartella è virtuale e scompare se non si aggiungono file. La cartella esiste anche senza file aggiunti.
Rinominare Genera una copia e quindi un'eliminazione del BLOB di origine Rinomina lo stesso BLOB. Molto più efficiente.

Documentazione

È possibile trovare indicazioni per l'uso delle funzionalità di Data Lake Storage Gen2 qui: Introduzione a Azure Data Lake Storage Gen2.

Nulla è cambiato rispetto al punto in cui sono disponibili le indicazioni per tutte le funzionalità di archiviazione BLOB esistenti. Ecco le indicazioni: Introduzione all'archiviazione BLOB di Azure.

Durante lo spostamento tra set di contenuti, si noteranno alcune differenze di terminologia. Ad esempio, il contenuto in primo piano nel contenuto Data Lake Storage Gen2 potrebbe usare il termine file e file system anziché BLOB e contenitore. I termini file e file system sono profondamente radicati nel mondo dell'analisi big data in cui Data Lake Storage ha avuto una lunga storia. Il contenuto contiene questi termini per mantenerlo riconoscibile per questi destinatari. Questi termini non descrivono cose separate.

Passaggi successivi

Quando si è pronti per aggiornare l'account di archiviazione per includere funzionalità di Data Lake Storage Gen2, vedere questa guida dettagliata.