Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Data Lake Storage Gen1 offre uno strumento da riga di comando, AdlCopy, per copiare i dati dalle origini seguenti:
- Da BLOB di Archiviazione di Azure in Data Lake Storage Gen1. Non è possibile usare AdlCopy per copiare dati da Data Lake Storage Gen1 ai BLOB di Archiviazione di Azure.
- Tra due account di Data Lake Storage Gen1.
Inoltre, è possibile usare lo strumento AdlCopy in due modalità diverse:
- Autonomo, in cui lo strumento usa le risorse di Data Lake Storage Gen1 per eseguire l'attività.
- Usando un account Data Lake Analytics, in cui le unità assegnate all'account Data Lake Analytics vengono usate per eseguire l'operazione di copia. È possibile usare questa opzione quando si desidera eseguire le attività di copia in modo prevedibile.
Prerequisiti
Prima di iniziare questo articolo, è necessario disporre degli elementi seguenti:
- Un abbonamento di Azure. Vedere Ottenere una versione di prova gratuita di Azure.
- Contenitore BLOB di Archiviazione di Azure con alcuni dati.
- Un account di Data Lake Storage Gen1. Per istruzioni su come crearne uno, vedere Iniziare a usare Azure Data Lake Storage Gen1
- Account di Data Lake Analytics (facoltativo): vedere Introduzione ad Azure Data Lake Analytics per istruzioni su come creare un account Data Lake Analytics.
- Strumento AdlCopy. Installare lo strumento AdlCopy.
Sintassi dello strumento AdlCopy
Usare la sintassi seguente per usare lo strumento AdlCopy
AdlCopy /Source <Blob or Data Lake Storage Gen1 source> /Dest <Data Lake Storage Gen1 destination> /SourceKey <Key for Blob account> /Account <Data Lake Analytics account> /Units <Number of Analytics units> /Pattern
I parametri nella sintassi sono descritti di seguito:
| Opzione | Descrizione |
|---|---|
| Fonte | Specifica il percorso dei dati di origine nel BLOB di archiviazione di Azure. L'origine può essere un contenitore blob, un blob o un altro account Data Lake Storage Gen1. |
| Dest | Specifica la destinazione Data Lake Storage Gen1 in cui eseguire la copia. |
| SourceKey | Specifica la chiave di accesso all'archiviazione per l'origine BLOB di Azure. Questa azione è necessaria solo se l'origine è un contenitore blob o un blob. |
| Conto | Facoltativo. Usare questa opzione se si vuole usare l'account Azure Data Lake Analytics per eseguire il processo di copia. Se si usa l'opzione /Account nella sintassi ma non si specifica un account Data Lake Analytics, AdlCopy usa un account predefinito per eseguire il processo. Inoltre, se si usa questa opzione, è necessario aggiungere l'origine (BLOB di Archiviazione di Azure) e la destinazione (Azure Data Lake Storage Gen1) come origini dati per l'account Data Lake Analytics. |
| Unità | Specifica il numero di unità di Data Lake Analytics che verranno usate per il processo di copia. Questa opzione è obbligatoria se si usa l'opzione /Account per specificare l'account Data Lake Analytics. |
| Modello | Specifica un modello regex che indica i BLOB o i file da copiare. AdlCopy utilizza una corrispondenza sensibile alle maiuscole e minuscole. Il modello predefinito quando non viene specificato alcun criterio consiste nel copiare tutti gli elementi. Non è consentito specificare più modelli di file. |
Usare AdlCopy (come autonomo) per copiare dati da un BLOB di Archiviazione di Azure
Aprire un prompt dei comandi e passare alla directory in cui è installato AdlCopy, solitamente
%HOMEPATH%\Documents\adlcopy.Eseguire il comando seguente per copiare un BLOB specifico dal contenitore di origine in una cartella Data Lake Storage Gen1:
AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>Per esempio:
AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/WebsiteLogSampleData/SampleLog/909f2b.log /dest swebhdfs://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==Annotazioni
La sintassi precedente specifica il file da copiare in una cartella nell'account Data Lake Storage Gen1. Lo strumento AdlCopy crea una cartella se il nome della cartella specificato non esiste.
Verrà richiesto di immettere le credenziali per la sottoscrizione di Azure con cui si dispone dell'account Data Lake Storage Gen1. Verrà visualizzato un output simile al seguente:
Initializing Copy. Copy Started. 100% data copied. Finishing Copy. Copy Completed. 1 file copied.È anche possibile copiare tutti i BLOB da un contenitore all'account Data Lake Storage Gen1 usando il comando seguente:
AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/ /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>Per esempio:
AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
Considerazioni sulle prestazioni
Se stai copiando da un account di archiviazione BLOB di Azure, potresti incontrare delle limitazioni durante la copia sul lato dell'archiviazione BLOB. In questo modo si riducono le prestazioni del processo di copia. Per ulteriori informazioni sui limiti di Azure Blob Storage, consultare Limiti di Archiviazione nel documento Limiti di sottoscrizione e servizio di Azure.
Usare AdlCopy (come autonomo) per copiare dati da un altro account Data Lake Storage Gen1
È anche possibile usare AdlCopy per copiare i dati tra due account Data Lake Storage Gen1.
Aprire un prompt dei comandi e passare alla directory in cui è installato AdlCopy, solitamente
%HOMEPATH%\Documents\adlcopy.Eseguire il comando seguente per copiare un file specifico da un account Data Lake Storage Gen1 a un altro.
AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/Per esempio:
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/Annotazioni
La sintassi precedente specifica il file da copiare in una cartella nell'account Data Lake Storage Gen1 di destinazione. Lo strumento AdlCopy crea una cartella se il nome della cartella specificato non esiste.
Verrà richiesto di immettere le credenziali per la sottoscrizione di Azure con cui si dispone dell'account Data Lake Storage Gen1. Verrà visualizzato un output simile al seguente:
Initializing Copy. Copy Started.| 100% data copied. Finishing Copy. Copy Completed. 1 file copied.Il comando seguente copia tutti i file da una cartella specifica nell'account Data Lake Storage Gen1 di origine in una cartella nell'account Data Lake Storage Gen1 di destinazione.
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Considerazioni sulle prestazioni
Quando si usa AdlCopy come strumento autonomo, la copia viene eseguita in risorse condivise gestite da Azure. Le prestazioni che è possibile ottenere in questo ambiente dipendono dal carico di sistema e dalle risorse disponibili. Questa modalità è ideale per piccoli trasferimenti su base ad hoc. Non è necessario ottimizzare alcun parametro quando si usa AdlCopy come strumento autonomo.
Usare AdlCopy (con l'account Data Lake Analytics) per copiare i dati
È anche possibile usare l'account Data Lake Analytics per eseguire il processo AdlCopy per copiare dati dai BLOB di archiviazione di Azure a Data Lake Storage Gen1. In genere si usa questa opzione quando i dati da spostare si trovano nell'intervallo di gigabyte e terabyte e si vuole ottenere una velocità effettiva delle prestazioni migliore e prevedibile.
Per usare il tuo account Data Lake Analytics con AdlCopy per copiare da un BLOB di Archiviazione di Azure, è necessario aggiungere il BLOB di Archiviazione di Azure come origine dati per il tuo account Data Lake Analytics. Per istruzioni sull'aggiunta di origini dati aggiuntive all'account Data Lake Analytics, vedere Gestire le origini dati dell'account Data Lake Analytics.
Annotazioni
Se si esegue la copia da un account Azure Data Lake Storage Gen1 come origine usando un account Data Lake Analytics, non è necessario associare l'account Data Lake Storage Gen1 all'account Data Lake Analytics. Il requisito di associare l'archivio di origine all'account Data Lake Analytics è solo quando l'origine è un account di archiviazione di Azure.
Eseguire il comando seguente per copiare da un BLOB di Archiviazione di Azure a un account Data Lake Storage Gen1 usando l'account Data Lake Analytics:
AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Account <data_lake_analytics_account> /Units <number_of_data_lake_analytics_units_to_be_used>
Per esempio:
AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest swebhdfs://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Account mydatalakeanalyticaccount /Units 2
Analogamente, eseguire il comando seguente per copiare tutti i file da una cartella specifica nell'account Data Lake Storage Gen1 di origine in una cartella nell'account Data Lake Storage Gen1 di destinazione usando l'account Data Lake Analytics:
AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2
Considerazioni sulle prestazioni
Quando si copiano dati nell'intervallo di terabyte, l'uso di AdlCopy con il proprio account Azure Data Lake Analytics offre prestazioni migliori e più prevedibili. Il parametro che deve essere ottimizzato è il numero di unità di analisi di Azure Data Lake da usare per il processo di copia. Aumentare il numero di unità migliorerà le prestazioni del processo di copia. Ogni file da copiare può usare un massimo di un'unità. Se si specificano più unità di misura rispetto al numero di file copiati, le prestazioni non aumentano.
Usare AdlCopy per copiare dati usando la corrispondenza di pattern
In questa sezione si imparerà ad usare AdlCopy per copiare dati da un'origine (nell'esempio seguente si utilizza un Blob di Archiviazione di Azure) in un account Data Lake Storage Gen1 di destinazione usando la ricerca per pattern. Ad esempio, è possibile usare la procedura seguente per copiare tutti i file con estensione .csv dal BLOB di origine alla destinazione.
Aprire un prompt dei comandi e passare alla directory in cui è installato AdlCopy, in genere
%HOMEPATH%\Documents\adlcopy.Eseguire il comando seguente per copiare tutti i file con *.csv estensione da un BLOB specifico dal contenitore di origine a una cartella Data Lake Storage Gen1:
AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Pattern *.csvPer esempio:
AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
Fatturazione
- Se si usa lo strumento AdlCopy come autonomo, verranno addebitati costi in uscita per lo spostamento dei dati, se l'account di archiviazione di Azure di origine non si trova nella stessa area dell'account Data Lake Storage Gen1.
- Se si usa lo strumento AdlCopy con l'account Data Lake Analytics, verranno applicate le tariffe di fatturazione standard di Data Lake Analytics .
Considerazioni sull'uso di AdlCopy
- AdlCopy (per la versione 1.0.5), supporta la copia di dati da origini con più di migliaia di file e cartelle. Tuttavia, se si verificano problemi durante la copia di un set di dati di grandi dimensioni, è possibile distribuire i file o le cartelle in sottocartelle diverse e usare il percorso di tali sottocartelle come origine.
Considerazioni sulle prestazioni per l'uso di AdlCopy
AdlCopy supporta la copia di dati contenenti migliaia di file e cartelle. Tuttavia, se si verificano problemi durante la copia di un set di dati di grandi dimensioni, è possibile distribuire i file o le cartelle in sottocartelle più piccole. AdlCopy è stato creato per copie ad hoc. Se si sta tentando di copiare dati su base ricorrente, è consigliabile usare Azure Data Factory che offre una gestione completa delle operazioni di copia.
Note di rilascio
- 1.0.13 - Se si copiano dati nello stesso account Azure Data Lake Storage Gen1 in più comandi adlcopy, non è più necessario immettere nuovamente le credenziali per ogni esecuzione. Adlcopy ora memorizza nella cache le informazioni in più esecuzioni.