Copiare i dati da BLOB di Archiviazione di Azure ad Archivio Data LakeCopy data from Azure Storage Blobs to Data Lake Store

Azure Data Lake Store fornisce uno strumento da riga di comando, AdlCopy, per copiare dati dalle origini seguenti:Azure Data Lake Store provides a command line tool, AdlCopy, to copy data from the following sources:

  • Dal BLOB di Archiviazione di Azure a Data Lake Store.From Azure Storage Blobs into Data Lake Store. Non è possibile usare lo strumento AdlCopy per copiare dati da Archivio Data Lake ai BLOB di Archiviazione di Azure.You cannot use AdlCopy to copy data from Data Lake Store to Azure Storage blobs.
  • Tra due account di Azure Data Lake Store.Between two Azure Data Lake Store accounts.

È anche possibile usare lo strumento AdlCopy in due modi diversi:Also, you can use the AdlCopy tool in two different modes:

  • Autonomo, in cui lo strumento usa le risorse di Archivio Data Lake per eseguire l'attività.Standalone, where the tool uses Data Lake Store resources to perform the task.
  • Tramite un account di Analisi Data Lake, in cui le unità assegnate all'account di Analisi Data Lake vengono usate per eseguire l'operazione di copia.Using a Data Lake Analytics account, where the units assigned to your Data Lake Analytics account are used to perform the copy operation. È consigliabile scegliere questa opzione se si intende eseguire le attività di copia in modo prevedibile.You might want to use this option when you are looking to perform the copy tasks in a predictable manner.

PrerequisitiPrerequisites

Per eseguire le procedure descritte nell'articolo è necessario:Before you begin this article, you must have the following:

Sintassi dello strumento AdlCopySyntax of the AdlCopy tool

Usare la sintassi seguente per usare lo strumento AdlCopyUse the following syntax to work with the AdlCopy tool

AdlCopy /Source <Blob or Data Lake Store source> /Dest <Data Lake Store destination> /SourceKey <Key for Blob account> /Account <Data Lake Analytics account> /Unit <Number of Analytics units> /Pattern

I parametri nella sintassi sono descritti di seguito:The parameters in the syntax are described below:

OpzioneOption DescrizioneDescription
SorgenteSource Specifica il percorso dei dati di origine nel BLOB di Archiviazione di Azure.Specifies the location of the source data in the Azure storage blob. L'origine può essere un contenitore BLOB, un BLOB o un altro account Data Lake Store.The source can be a blob container, a blob, or another Data Lake Store account.
DestDest Specifica la destinazione di Archivio Data Lake in cui eseguire la copia.Specifies the Data Lake Store destination to copy to.
SourceKeySourceKey Specifica la chiave di accesso alle risorse di archiviazione per l'origine BLOB di Archiviazione di Azure.Specifies the storage access key for the Azure storage blob source. La chiave è necessaria solo se l'origine è un contenitore BLOB o un BLOB.This is required only if the source is a blob container or a blob.
AccountAccount Facoltativo.Optional. Scegliere questa opzione se si vuole usare l'account di Analisi Azure Data Lake per eseguire il processo di copia.Use this if you want to use Azure Data Lake Analytics account to run the copy job. Se si usa l'opzione /Account nella sintassi ma non si specifica un account di Analisi Data Lake, AdlCopy usa un account predefinito per eseguire il processo.If you use the /Account option in the syntax but do not specify a Data Lake Analytics account, AdlCopy uses a default account to run the job. Inoltre, se si sceglie questa opzione, è necessario aggiungere l'origine (BLOB di Archiviazione di Azure) e la destinazione (Archivio Azure Data Lake) come origini dati per l'account di Analisi Data Lake.Also, if you use this option, you must add the source (Azure Storage Blob) and destination (Azure Data Lake Store) as data sources for your Data Lake Analytics account.
UnitàUnits Specifica il numero di unità di Analisi Data Lake che verranno usate per il processo di copia.Specifies the number of Data Lake Analytics units that will be used for the copy job. Questa opzione è obbligatoria se si usa l'opzione /Account per specificare l'account di Analisi Data Lake.This option is mandatory if you use the /Account option to specify the Data Lake Analytics account.
ModelloPattern Specifica un modello regex che indica quali BLOB o file copiare.Specifies a regex pattern that indicates which blobs or files to copy. AdlCopy usa la corrispondenza tra maiuscole e minuscole.AdlCopy uses case-sensitive matching. La copia di tutti gli elementi è il criterio predefinito usato quando non viene specificato alcun modello.The default pattern used when no pattern is specified is to copy all items. Non è consentito specificare più criteri file.Specifying multiple file patterns is not supported.

Usare AdlCopy (come file autonomo) per copiare i dati da un BLOB di Archiviazione di AzureUse AdlCopy (as standalone) to copy data from an Azure Storage blob

  1. Aprire un prompt dei comandi e passare alla directory in cui è installato AdlCopy, in genere %HOMEPATH%\Documents\adlcopy.Open a command prompt and navigate to the directory where AdlCopy is installed, typically %HOMEPATH%\Documents\adlcopy.
  2. Eseguire il comando seguente per copiare un BLOB specifico dal contenitore di origine a un'istanza di Archivio Data Lake:Run the following command to copy a specific blob from the source container to a Data Lake Store:

     AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adls_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>
    

    ad esempio:For example:

     AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/WebsiteLogSampleData/SampleLog/909f2b.log /dest swebhdfs://mydatalakestore.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
    

    [AZURE.NOTE] La sintassi precedente specifica il file da copiare in una cartella dell'account Data Lake Store.The syntax above specifies the file to be copied to a folder in the Data Lake Store account. Se il nome della cartella specificato non esiste, lo strumento AdlCopy crea una cartella.AdlCopy tool creates a folder if the specified folder name does not exist.

    Verrà richiesto di immettere le credenziali per la sottoscrizione di Azure in cui si trova l'account Azure Data Lake Store.You will be prompted to enter the credentials for the Azure subscription under which you have your Data Lake Store account. L'output visualizzato sarà simile al seguente:You will see an output similar to the following:

     Initializing Copy.
     Copy Started.
     100% data copied.
     Finishing Copy.
     Copy Completed. 1 file copied.
    
  3. È inoltre possibile copiare tutti i BLOB da un contenitore all'account di Archivio Data Lake tramite il comando seguente:You can also copy all the blobs from one container to the Data Lake Store account using the following command:

     AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/ /dest swebhdfs://<dest_adls_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>        
    

    ad esempio:For example:

     AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestore.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
    

Considerazioni sulle prestazioniPerformance considerations

Quando si esegue una copia da un account di Archiviazione BLOB di Azure, è possibile che alcune operazioni siano limitate nell'ambito dell'archiviazione BLOB.If you are copying from an Azure Blob Storage account, you may be throttled during copy on the blob storage side. In questo caso le prestazioni del processo di copia diminuiranno.This will degrade the performance of your copy job. Per altre informazioni sui limiti di Archiviazione BLOB di Azure, vedere i limiti di Archiviazione di Azure in Sottoscrizione di Azure e limiti, quote e vincoli dei servizi.To learn more about the limits of Azure Blob Storage, see Azure Storage limits at Azure subscription and service limits.

Usare AdlCopy (come file autonomo) per copiare i dati da un altro account di Data Lake StoreUse AdlCopy (as standalone) to copy data from another Data Lake Store account

È anche possibile usare AdlCopy per copiare dati tra due account Data Lake Store.You can also use AdlCopy to copy data between two Data Lake Store accounts.

  1. Aprire un prompt dei comandi e passare alla directory in cui è installato AdlCopy, in genere %HOMEPATH%\Documents\adlcopy.Open a command prompt and navigate to the directory where AdlCopy is installed, typically %HOMEPATH%\Documents\adlcopy.
  2. Eseguire il comando seguente per copiare un file specifico da un account Data Lake Store a un altro.Run the following command to copy a specific file from one Data Lake Store account to another.

     AdlCopy /Source adl://<source_adls_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adls_account>.azuredatalakestore.net/<path>/
    

    ad esempio:For example:

     AdlCopy /Source adl://mydatastore.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestore.azuredatalakestore.net/mynewfolder/
    

    Nota

    La sintassi precedente specifica il file da copiare in una cartella dell'account Data Lake Store di destinazione.The syntax above specifies the file to be copied to a folder in the destination Data Lake Store account. Se il nome della cartella specificato non esiste, lo strumento AdlCopy crea una cartella.AdlCopy tool creates a folder if the specified folder name does not exist.

    Verrà richiesto di immettere le credenziali per la sottoscrizione di Azure in cui si trova l'account Azure Data Lake Store.You will be prompted to enter the credentials for the Azure subscription under which you have your Data Lake Store account. L'output visualizzato sarà simile al seguente:You will see an output similar to the following:

     Initializing Copy.
     Copy Started.|
     100% data copied.
     Finishing Copy.
     Copy Completed. 1 file copied.
    
  3. Il comando seguente consente di copiare tutti i file da una cartella specifica dell'account Data Lake Store di origine in una cartella dell'account Data Lake Store di destinazione.The following command copies all files from a specific folder in the source Data Lake Store account to a folder in the destination Data Lake Store account.

     AdlCopy /Source adl://mydatastore.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestore.azuredatalakestore.net/mynewfolder/
    

Considerazioni sulle prestazioniPerformance considerations

Quando si usa AdlCopy come strumento autonomo, la copia viene eseguita su risorse gestite di Azure condivise.When using AdlCopy as a standalone tool, the copy is run on shared, Azure managed resources. Le prestazioni che è possibile ottenere in questo ambiente dipendono dal carico del sistema e dalle risorse disponibili.The performance you may get in this environment depends on system load and available resources. Questa modalità è più adatta ai trasferimenti di piccole dimensioni eseguiti ad hoc.This mode is best used for small transfers on an ad hoc basis. Quando si usa AdlCopy come strumento autonomo, non è necessario impostare alcun parametro.No parameters need to be tuned when using AdlCopy as a standalone tool.

Usare AdlCopy (con un account Data Lake Analytics) per copiare i datiUse AdlCopy (with Data Lake Analytics account) to copy data

È anche possibile usare l'account di Analisi Data Lake per eseguire il processo AdlCopy per copiare dati da BLOB di Archiviazione di Azure ad Archivio Data Lake.You can also use your Data Lake Analytics account to run the AdlCopy job to copy data from Azure storage blobs to Data Lake Store. In genere si sceglie questa opzione quando i dati da spostare sono nell'ordine di gigabyte e terabyte e si vuole una velocità effettiva delle prestazioni migliore e prevedibile.You would typically use this option when the data to be moved is in the range of gigabytes and terabytes, and you want better and predictable performance throughput.

Per usare l'account Data Lake Analytics con AdlCopy per eseguire la copia da un BLOB di Archiviazione di Azure, l'origine (BLOB di Archiviazione di Azure) deve essere aggiunta come origine dati per l'account Data Lake Analytics.To use your Data Lake Analytics account with AdlCopy to copy from an Azure Storage Blob, the source (Azure Storage Blob) must be added as a data source for your Data Lake Analytics account. Per istruzioni sull'aggiunta di origini dati aggiuntive all'account di Data Lake Analytics, vedere Gestire Analisi Data Lake tramite il portale di Azure.For instructions on adding additional data sources to your Data Lake Analytics account, see Manage Data Lake Analytics account data sources.

Nota

Se si esegue la copia da un account Azure Data Lake Store come origine tramite un account Data Lake Analytics, non è necessario associare l'account Data Lake Store all'account Data Lake Analytics.If you are copying from an Azure Data Lake Store account as the source using a Data Lake Analytics account, you do not need to associate the Data Lake Store account with the Data Lake Analytics account. È necessario associare l'archivio di origine con l'account Data Lake Analytics solo quando l'origine è un account di Archiviazione di Azure.The requirement to associate the source store with the Data Lake Analytics account is only when the source is an Azure Storage account.

Eseguire il comando seguente per copiare da un BLOB di Archiviazione di Azure a un account Data Lake Store tramite un account Data Lake Analytics:Run the following command to copy from an Azure Storage blob to a Data Lake Store account using Data Lake Analytics account:

AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adls_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Account <data_lake_analytics_account> /Unit <number_of_data_lake_analytics_units_to_be_used>

ad esempio:For example:

AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest swebhdfs://mydatalakestore.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 dell'account Data Lake Store di origine in una cartella dell'account Data Lake Store di destinazione tramite l'account di Data Lake Analytics:Similarly, run the following command to copy all files from a specific folder in the source Data Lake Store account to a folder in the destination Data Lake Store account using Data Lake Analytics account:

AdlCopy /Source adl://mysourcedatalakestore.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastore.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2

Considerazioni sulle prestazioniPerformance considerations

Quando si copiano dati nell'ordine di terabyte, l'uso di AdlCopy con il proprio account di Azure Data Lake Analytics consente di ottenere prestazioni migliori e più prevedibili.When copying data in the range of terabytes, using AdlCopy with your own Azure Data Lake Analytics account provides better and more predictable performance. Il parametro da impostare è il numero di unità di Azure Data Lake Analytics da usare per il processo di copia.The parameter that should be tuned is the number of Azure Data Lake Analytics Units to use for the copy job. L'aumento del numero di unità si traduce in un aumento delle prestazioni del processo di copia.Increasing the number of units will increase the performance of your copy job. Per ogni file da copiare, è possibile usare al massimo un'unità.Each file to be copied can use maximum one unit. Se si specificano più unità rispetto al numero di file da copiare, le prestazioni non aumentano.Specifying more units than the number of files being copied will not increase performance.

Usare AdlCopy per copiare i dati usando la corrispondenza dei modelliUse AdlCopy to copy data using pattern matching

Questa sezione descrive come usare AdlCopy per copiare i dati da un'origine (nell'esempio di seguito un BLOB di Archiviazione di Azure) a un account Data Lake Store di destinazione tramite la corrispondenza dei modelli.In this section, you learn how to use AdlCopy to copy data from a source (in our example below we use Azure Storage Blob) to a destination Data Lake Store account using pattern matching. Ad esempio, è possibile usare la procedura seguente per copiare tutti i file con estensione csv dal BLOB di origine alla destinazione.For example, you can use the steps below to copy all files with .csv extension from the source blob to the destination.

  1. Aprire un prompt dei comandi e passare alla directory in cui è installato AdlCopy, in genere %HOMEPATH%\Documents\adlcopy.Open a command prompt and navigate to the directory where AdlCopy is installed, typically %HOMEPATH%\Documents\adlcopy.
  2. Eseguire il comando seguente per copiare tutti i file con estensione *.csv da un BLOB specifico del contenitore di origine a Data Lake Store:Run the following command to copy all files with *.csv extension from a specific blob from the source container to a Data Lake Store:

     AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adls_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Pattern *.csv
    

    ad esempio:For example:

     AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestore.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
    

FatturazioneBilling

  • Se si usa lo strumento AdlCopy in modalità autonoma, verranno fatturati i costi di uscita per lo spostamento dei dati, se l'account di origine di Archiviazione di Azure non si trova nella stessa area di Archivio Data Lake.If you use the AdlCopy tool as standalone you will be billed for egress costs for moving data, if the source Azure Storage account is not in the same region as the Data Lake Store.
  • Se si usa lo strumento AdlCopy con l'account di Analisi Data Lake, verranno applicati i Prezzi di Analisi Data Lake standard.If you use the AdlCopy tool with your Data Lake Analytics account, standard Data Lake Analytics billing rates will apply.

Considerazioni sull'uso di AdlCopyConsiderations for using AdlCopy

  • AdlCopy (per la versione 1.0.5) supporta la copia dei dati da origini che collettivamente contengono migliaia di file e cartelle.AdlCopy (for version 1.0.5), supports copying data from sources that collectively have more than thousands of files and folders. Tuttavia, in caso di problemi durante la copia di un set di dati grande, è possibile distribuire file e cartelle in sottocartelle diverse e usare il percorso per tali sottocartelle come origine.However, if you encounter issues copying a large dataset, you can distribute the files/folders into different sub-folders and use the path to those sub-folders as the source instead.

Considerazioni sulle prestazioni per l'uso di AdlCopyPerformance considerations for using AdlCopy

AdlCopy supporta la copia dei dati che contengono migliaia di file e cartelle.AdlCopy supports copying data containing thousands of files and folders. Se si verificano problemi con la copia di un set di dati di grandi dimensioni, è comunque possibile distribuire file e cartelle in sottocartelle più piccole.However, if you encounter issues copying a large dataset, you can distribute the files/folders into smaller sub-folders. AdlCopy è stato creato per copie ad hoc.AdlCopy was built for ad hoc copies. Se si tenta di copiare dati su base periodica, è consigliabile usare Azure Data Factory che consente gestire completamente le operazioni di copia.If you are trying to copy data on a recurring basis, you should consider using Azure Data Factory that provides full management around the copy operations.

Note sulla versioneRelease notes

  • 1.0.13 - Se si copiano dati nello stesso account Azure Data Lake Store tramite più comandi adlcopy, non è più necessario immettere di nuovo le credenziali per ogni esecuzione.1.0.13 - If you are copying data to the same Azure Data Lake Store account across multiple adlcopy commands, you do not need to reenter your credentials for each run anymore. Adlcopy memorizza ora nella cache queste informazioni tra le diverse esecuzioni.Adlcopy will now cache that information across multiple runs.

Passaggi successiviNext steps