Share via


Azure Data Lake Storage linee guida e modelli di migrazione

È possibile eseguire la migrazione di dati, carichi di lavoro e applicazioni da Azure Data Lake Storage Gen1 a Azure Data Lake Storage Gen2. Questo articolo illustra l'approccio consigliato alla migrazione e illustra i diversi modelli di migrazione e quando usarli. Per una lettura più semplice, questo articolo usa il termine Gen1 per fare riferimento a Azure Data Lake Storage Gen1 e il termine Gen2 per fare riferimento a Azure Data Lake Storage Gen2.

Nota

Azure Data Lake Storage Gen1 è stato ritirato. Vedere l'annuncio di ritiro qui. Data Lake Storage Gen1 risorse non sono più accessibili. Se hai bisogno di assistenza speciale, contattaci.

Azure Data Lake Storage Gen2 si basa sull'archiviazione BLOB di Azure e offre un set di funzionalità dedicate all'analisi dei Big Data. Data Lake Storage Gen2 combina funzionalità di Azure Data Lake Storage Gen1, ad esempio semantica del file system, directory e sicurezza a livello di file e scalabilità con archiviazione a basso costo, archiviazione a livelli, funzionalità di disponibilità elevata/ripristino di emergenza da Archiviazione BLOB di Azure.

Nota

Poiché Gen1 e Gen2 sono servizi diversi, non esiste un'esperienza di aggiornamento sul posto. Per semplificare la migrazione a Gen2 usando il portale di Azure, vedere Eseguire la migrazione di Azure Data Lake Storage da Gen1 a Gen2 usando il portale di Azure.

Per eseguire la migrazione da Gen1 a Gen2, è consigliabile adottare l'approccio seguente.

Passaggio 1: Valutare l'idoneità

Passaggio 2: Preparare la migrazione

Passaggio 3: Eseguire la migrazione di carichi di lavoro di dati e applicazioni

Passaggio 4: Cutover da Gen1 a Gen2

Passaggio 1: Valutare l'idoneità

  1. Informazioni sull'offerta di Data Lake Storage Gen2, sui vantaggi, sui costi e sull'architettura generale.

  2. Confrontare le funzionalità di Gen1 con quelle di Gen2.

  3. Esaminare un elenco di problemi noti per valutare eventuali lacune nelle funzionalità.

  4. Gen2 supporta funzionalità di archiviazione BLOB, ad esempio la registrazione diagnostica, i livelli di accesso e icriteri di gestione del ciclo di vita dell'archiviazione BLOB. Se si è interessanti nell'uso di una di queste funzionalità, esaminare il livello di supporto corrente.

  5. Esaminare lo stato corrente del supporto dell'ecosistema di Azure per assicurarsi che Gen2 supporti tutti i servizi da cui dipendono le soluzioni.

Passaggio 2: Preparare la migrazione

  1. Identificare i set di dati di cui si eseguirà la migrazione.

    Sfrutta questa opportunità per pulire i set di dati che non usi più. A meno che non si prevede di eseguire la migrazione di tutti i dati contemporaneamente, prendere questa volta per identificare gruppi logici di dati di cui è possibile eseguire la migrazione in fasi.

    Eseguire un'analisi dell'invecchiamento (o simile) sull'account Gen1 per identificare quali file o cartelle rimangono nell'inventario per molto tempo o potrebbero diventare obsoleti.

  2. Determinare l'impatto che una migrazione avrà sull'azienda.

    Si consideri, ad esempio, se è possibile permettersi tempi di inattività durante la migrazione. Queste considerazioni consentono di identificare un modello di migrazione appropriato e di scegliere gli strumenti più appropriati.

  3. Creare un piano di migrazione.

    È consigliabile usare questi modelli di migrazione. È possibile scegliere uno di questi modelli, combinarli insieme o progettare un modello personalizzato personalizzato.

Passaggio 3: Eseguire la migrazione di dati, carichi di lavoro e applicazioni

Eseguire la migrazione di dati, carichi di lavoro e applicazioni usando il modello preferito. È consigliabile convalidare gli scenari in modo incrementale.

  1. Creare un account di archiviazione e abilitare la funzionalità dello spazio dei nomi gerarchico.

  2. Eseguire la migrazione dei dati.

  3. Configurare i servizi nei carichi di lavoro in modo che puntino all'endpoint gen2.

    Per i cluster HDInsight, è possibile aggiungere le impostazioni di configurazione dell'account di archiviazione al file %HADOOP_HOME%/conf/core-site.xml. Se si prevede di eseguire la migrazione di tabelle Hive esterne da Gen1 a Gen2, assicurarsi di aggiungere anche le impostazioni dell'account di archiviazione al file %HIVE_CONF_DIR%/hive-site.xml.

    È possibile modificare le impostazioni di ogni file usando Apache Ambari. Per trovare le impostazioni dell'account di archiviazione, vedere Supporto di Azure hadoop: ABFS - Azure Data Lake Storage Gen2. In questo esempio viene usata l'impostazione per abilitare l'autorizzazione fs.azure.account.key con chiave condivisa:

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

    Per collegamenti ad articoli che consentono di configurare HDInsight, Azure Databricks e altri servizi di Azure per l'uso di Gen2, vedere Servizi di Azure che supportano Azure Data Lake Storage Gen2.

  4. Aggiornare le applicazioni per l'uso delle API Gen2. Vedere le guide seguenti:

Ambiente Articolo
Azure Storage Explorer Usare Azure Storage Explorer per gestire directory e file in Azure Data Lake Storage Gen2
.NET Usare .NET per gestire directory e file in Azure Data Lake Storage Gen2
Java Usare Java per gestire directory e file in Azure Data Lake Storage Gen2
Python Usare Python per gestire directory e file in Azure Data Lake Storage Gen2
JavaScript (Node.js) Usare JavaScript SDK in Node.js per gestire directory e file in Azure Data Lake Storage Gen2
API REST Azure Data Lake Store REST API
  1. Aggiornare gli script per usare Data Lake Storage Gen2 cmdlet di PowerShell e i comandi dell'interfaccia della riga di comando di Azure.

  2. Cercare riferimenti URI che contengono la stringa adl:// nei file di codice o nei notebook di Databricks, file HQL Apache Hive o qualsiasi altro file usato come parte dei carichi di lavoro. Sostituire questi riferimenti con l'URI formattato Gen2 del nuovo account di archiviazione. Ad esempio, l'URI gen1: adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile potrebbe diventare abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile.

  3. Configurare la sicurezza nell'account per includere ruoli di Azure, sicurezza a livello di file e cartelle e firewall di Archiviazione di Azure e reti virtuali.

Passaggio 4: Cutover da Gen1 a Gen2

Dopo aver certi che le applicazioni e i carichi di lavoro siano stabili in Gen2, è possibile iniziare a usare Gen2 per soddisfare gli scenari aziendali. Disattivare tutte le pipeline rimanenti in esecuzione in Gen1 e rimuovere l'account Gen1.

Funzionalità di Gen1 e Gen2

Questa tabella confronta le funzionalità di Gen1 con quella di Gen2.

Area Prima generazione Seconda generazione
Organizzazione dei dati Spazio dei nomi gerarchico
Supporto di file e cartelle
Spazio dei nomi gerarchico
Supporto di contenitori, file e cartelle
Ridondanza geografica LRS Archiviazione con ridondanza locale, archiviazione con ridondanza geografica, archiviazione con ridondanza geografica e accesso in lettura
Authentication identità gestita Microsoft Entra
Entità servizio
identità gestita Microsoft Entra
Entità servizio
Chiave di accesso condiviso
Autorizzazione Gestione - Controllo degli accessi in base al ruolo di Azure
Dati - ACL
Gestione - Controllo degli accessi in base al ruolo di Azure
Dati - ACL, Controllo degli accessi in base al ruolo di Azure
Crittografia - Dati inattivi Lato server : con chiavi gestite da Microsoft o gestite dal cliente Lato server : con chiavi gestite da Microsoft o gestite dal cliente
Supporto reti virtuali Integrazione della rete virtuale Endpoint di servizio, endpoint privati
Esperienza per gli sviluppatori REST, .NET, Java, Python, PowerShell, interfaccia della riga di comando di Azure Disponibile a livello generale : REST, .NET, Java, Python
Anteprima pubblica - JavaScript, PowerShell, interfaccia della riga di comando di Azure
Log risorse Log classici
Monitoraggio di Azure integrato
Log classici - Disponibile a livello generale
Monitoraggio di Azure integrato - Anteprima
Ecosistema HDInsight (3.6), Azure Databricks (3.1 e versioni successive),Azure Synapse Analytics, ADF HDInsight (3.6, 4.0),Azure Databricks (5.1 e versioni successive),Azure Synapse Analytics, ADF

Modelli gen1 a gen2

Scegliere un modello di migrazione e quindi modificare tale modello in base alle esigenze.

Modello di migrazione Dettagli
Lift and Shift Il modello più semplice. Ideale se le pipeline di dati possono offrire tempi di inattività.
Copia incrementale Simile a lift and shift, ma con meno tempi di inattività. Ideale per grandi quantità di dati che richiedono più tempo per la copia.
Doppia pipeline Ideale per le pipeline che non possono consentire tempi di inattività.
Sincronizzazione bidirezionale Analogamente a doppia pipeline, ma con un approccio più graduale adatto per pipeline più complesse.

Esaminiamo più attentamente ogni modello.

Modello di sollevamento e spostamento

Questo è il modello più semplice.

  1. Arrestare tutte le scritture in Gen1.

  2. Spostare i dati da Gen1 a Gen2. È consigliabile Azure Data Factory o usando il portale di Azure. Gli ACL copiano con i dati.

  3. Inserire operazioni e carichi di lavoro in Gen2.

  4. Disattivazione gen1.

Vedere il codice di esempio per il modello di lift and shift nell'esempio di migrazione Lift and Shift.

lift and shift pattern

Considerazioni sull'uso del modello di sollevamento e spostamento

  • Taglio da Gen1 a Gen2 per tutti i carichi di lavoro contemporaneamente.

  • Prevedere tempi di inattività durante la migrazione e il periodo di taglio.

  • Ideale per le pipeline che possono consentire tempi di inattività e tutte le app possono essere aggiornate contemporaneamente.

Suggerimento

È consigliabile usare il portale di Azure per ridurre i tempi di inattività e ridurre il numero di passaggi necessari per completare la migrazione.

Modello di copia incrementale

  1. Iniziare a spostare i dati da Gen1 a Gen2. È consigliabile Azure Data Factory. Gli ACL copiano con i dati.

  2. Copiare in modo incrementale nuovi dati da Gen1.

  3. Dopo la copia di tutti i dati, arrestare tutte le scritture in Gen1 e puntare i carichi di lavoro a Gen2.

  4. Disattivazione gen1.

Vedere il codice di esempio per il modello di copia incrementale nell'esempio di migrazione di copia incrementale.

Modello di copia incrementale

Considerazioni sull'uso del modello di copia incrementale:

  • Taglio da Gen1 a Gen2 per tutti i carichi di lavoro contemporaneamente.

  • Previsto tempo di inattività solo durante il periodo di cutover.

  • Ideale per le pipeline in cui tutte le app sono aggiornate contemporaneamente, ma la copia dei dati richiede più tempo.

Modello di pipeline doppia

  1. Spostare i dati da Gen1 a Gen2. È consigliabile Azure Data Factory. Gli ACL copiano con i dati.

  2. Inserire nuovi dati in Gen1 e Gen2.

  3. Puntare i carichi di lavoro a Gen2.

  4. Arrestare tutte le scritture in Gen1 e quindi rimuovere Gen1.

Vedere il codice di esempio per il modello di pipeline doppia nell'esempio di migrazione di Dual Pipeline.

Modello di pipeline doppia

Considerazioni sull'uso del modello di pipeline doppia:

  • Le pipeline Gen1 e Gen2 vengono eseguite side-by-side.

  • Supporta un tempo di inattività zero.

  • Ideale in situazioni in cui i carichi di lavoro e le applicazioni non possono permettere tempi di inattività e è possibile inserire in entrambi gli account di archiviazione.

Modello di sincronizzazione bidirezionale

  1. Configurare la replica bidirezionale tra Gen1 e Gen2. È consigliabile WanDisco. Offre una funzionalità di ripristino per i dati esistenti.

  2. Al termine di tutti gli spostamenti, arrestare tutte le scritture in Gen1 e disattivare la replica bidirezionale.

  3. Disattivazione gen1.

Vedere il codice di esempio per il modello di sincronizzazione bidirezionale nell'esempio di migrazione di Sincronizzazione bidirezionale.

Modello bidirezionale

Considerazioni sull'uso del modello di sincronizzazione bidirezionale:

  • Ideale per scenari complessi che coinvolgono un numero elevato di pipeline e dipendenze in cui un approccio in più fasi potrebbe essere più opportuno.

  • Lo sforzo di migrazione è elevato, ma offre supporto side-by-side per Gen1 e Gen2.

Passaggi successivi

Vedi anche