Condividi tramite


Linee guida e modelli di migrazione di Azure Data Lake Storage

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

Nota

Azure Data Lake Storage Gen1 è ora ritirato. Vedere l'annuncio di ritiro qui. Le risorse di Data Lake Storage Gen1 non sono più accessibili.

Azure Data Lake Storage Gen2 è basato 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, sicurezza a livello di directory e file e scalabilità con funzionalità di archiviazione a basso costo, archiviazione a livelli, 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: Eseguire il cutover da Gen1 a Gen2

Passaggio 1: valutare l'idoneità

  1. Informazioni sull'offerta 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 i criteri 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.

    Sfruttare questa opportunità per pulire i set di dati che non si usano più. A meno che non si intenda 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) sul tuo account Gen1 per identificare quali file o cartelle rimangono nell'inventario per molto tempo o potrebbero diventare obsoleti.

  2. Determinare l'impatto della migrazione 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 Hadoop azure: 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 queste guide:

Ambiente Articolo
Azure Storage Explorer Usare Archiviazione di Azure 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
REST API Azure Data Lake Store REST API
  1. Aggiornare gli script per usare i cmdlet di PowerShell di Data Lake Storage Gen2 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, sicurezza a livello di file e cartelle di Azure e firewall e Archiviazione di Azure firewall e reti virtuali.

Passaggio 4: Eseguire il 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 le autorizzazioni dell'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
Autenticazione Identità gestita di Microsoft Entra
Entità servizio
Identità gestita di Microsoft Entra
Entità servizio
Chiave di accesso condivisa
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 della rete virtuale Integrazione della rete virtuale Endpoint di servizio, endpoint privati
Esperienza sviluppatore 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 da Gen1 a Gen2

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

Modello di migrazione Dettagli
Trasferimento in modalità lift-and-shift Modello più semplice. Ideale se le pipeline di dati possono comportare tempi di inattività.
Copia incrementale Simile al lift-and-shift, ma con meno tempi di inattività. Ideale per grandi quantità di dati che richiedono più tempo per la copia.
Pipeline doppia Ideale per le pipeline che non possono permettersi tempi di inattività.
Sincronizzazione bidirezionale Analogamente alla doppia pipeline, ma con un approccio più graduale adatto per pipeline più complesse.

Esaminiamo più da vicino ogni modello.

Modello lift-and-shift

Questo è il modello più semplice.

  1. Arrestare tutte le scritture in Gen1.

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

  3. Indirizzare le operazioni di inserimento e i carichi di lavoro a Gen2.

  4. Rimuovere le autorizzazioni Gen1.

Vedere il codice di esempio per il modello di accuratezza e spostamento nell'esempio di migrazione lift-and-shift.

lift and shift pattern

Considerazioni sull'uso del modello lift-and-shift

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

  • Attendere tempi di inattività durante la migrazione e il periodo di cutover.

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

Suggerimento

Prendere in considerazione l'uso del portale di Azure per ridurre il tempo 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 usare Azure Data Factory. Gli ACL copiano con i dati.

  2. Copiare in modo incrementale nuovi dati da Gen1.

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

  4. Rimuovere le autorizzazioni Gen1.

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

Modello di copia incrementale

Considerazioni sull'uso del modello di copia incrementale:

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

  • Si prevede un 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 usare Azure Data Factory. Gli ACL copiano con i dati.

  2. Inserire nuovi dati sia in Gen1 che in Gen2.

  3. Puntare i carichi di lavoro a Gen2.

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

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

Modello di pipeline doppia

Considerazioni sull'uso del modello di doppia pipeline:

  • Le pipeline gen1 e gen2 vengono eseguite side-by-side.

  • Supporta un tempo di inattività pari a zero.

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

Modello di sincronizzazione bidirezionale

  1. Configurare la replica bidirezionale tra Gen1 e Gen2. È consigliabile usare 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. Rimuovere le autorizzazioni Gen1.

Vedere il codice di esempio per il modello di sincronizzazione bidirezionale nell'esempio di migrazione della 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 avere più senso.

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

Passaggi successivi

Vedi anche