Kopírování dat z objektů blob služby Azure Storage do Azure Data Lake Storage Gen1

Data Lake Storage Gen1 poskytuje nástroj příkazového řádku AdlCopy pro kopírování dat z následujících zdrojů:

  • Z objektů blob služby Azure Storage do Data Lake Storage Gen1. Pomocí AdlCopy nemůžete kopírovat data z Data Lake Storage Gen1 do objektů blob služby Azure Storage.
  • Mezi dvěma účty Data Lake Storage Gen1.

Nástroj AdlCopy můžete také použít ve dvou různých režimech:

  • Samostatně, kde nástroj používá k provedení úkolu Data Lake Storage Gen1 zdroje.
  • Použití Data Lake Analytics účtu, kde se k provedení operace kopírování používají jednotky přiřazené k vašemu účtu Data Lake Analytics. Tuto možnost můžete chtít použít, když chcete provádět úlohy kopírování předvídatelným způsobem.

Požadavky

Je nutné, abyste před zahájením tohoto článku měli tyto položky:

Syntaxe nástroje AdlCopy

Při práci s nástrojem AdlCopy použijte následující syntaxi.

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

Parametry v syntaxi jsou popsané níže:

Možnost Popis
Zdroj Určuje umístění zdrojových dat v objektu blob úložiště Azure. Zdrojem může být kontejner objektů blob, objekt blob nebo jiný účet Data Lake Storage Gen1.
Dest Určuje cíl Data Lake Storage Gen1, do které chcete kopírovat.
SourceKey Určuje přístupový klíč úložiště pro zdroj objektů blob úložiště Azure. To se vyžaduje jenom v případě, že zdrojem je kontejner objektů blob nebo objekt blob.
Účet Volitelné. Tuto možnost použijte, pokud chcete ke spuštění úlohy kopírování použít účet Azure Data Lake Analytics. Pokud v syntaxi použijete možnost /Account, ale nezadáte Data Lake Analytics účet, AdlCopy použije ke spuštění úlohy výchozí účet. Pokud použijete tuto možnost, musíte jako zdroje dat pro účet Data Lake Analytics přidat zdroj (Azure Storage Blob) a cíl (Azure Data Lake Storage Gen1).
Jednotky Určuje počet jednotek Data Lake Analytics, které budou použity pro úlohu kopírování. Tato možnost je povinná, pokud použijete možnost /Account k zadání Data Lake Analytics účtu.
Vzor Určuje vzor regex, který označuje, které objekty blob nebo soubory se mají kopírovat. AdlCopy používá párování s rozlišováním velkých a malých písmen. Výchozí vzor, pokud není zadán žádný vzor, je zkopírování všech položek. Určení více vzorů souborů není podporováno.

Použití AdlCopy (jako samostatného) ke kopírování dat z objektu blob služby Azure Storage

  1. Otevřete příkazový řádek a přejděte do adresáře, ve kterém je nainstalovaná aplikace AdlCopy, obvykle %HOMEPATH%\Documents\adlcopy.

  2. Spuštěním následujícího příkazu zkopírujte konkrétní objekt blob ze zdrojového kontejneru do Data Lake Storage Gen1 složky:

    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>
    

    Příklad:

    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==
    

    Poznámka

    Výše uvedená syntaxe určuje soubor, který se má zkopírovat do složky v Data Lake Storage Gen1 účtu. Nástroj AdlCopy vytvoří složku, pokud zadaný název složky neexistuje.

    Zobrazí se výzva k zadání přihlašovacích údajů k předplatnému Azure, pod kterým máte účet Data Lake Storage Gen1. Zobrazí se výstup podobný následujícímu:

    Initializing Copy.
    Copy Started.
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. Pomocí následujícího příkazu můžete také zkopírovat všechny objekty blob z jednoho kontejneru do účtu Data Lake Storage Gen1:

    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>  
    

    Příklad:

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

Otázky výkonu

Pokud kopírujete z účtu Azure Blob Storage, může dojít k omezení během kopírování na straně úložiště objektů blob. Tím se sníží výkon vaší úlohy kopírování. Další informace o limitech Azure Blob Storage najdete v tématu Limity služby Azure Storage v tématu Limity předplatného a služeb Azure.

Kopírování dat z jiného účtu Data Lake Storage Gen1 pomocí AdlCopy (jako samostatného)

Pomocí AdlCopy můžete také kopírovat data mezi dvěma účty Data Lake Storage Gen1.

  1. Otevřete příkazový řádek a přejděte do adresáře, ve kterém je nainstalovaná aplikace AdlCopy, obvykle %HOMEPATH%\Documents\adlcopy.

  2. Spuštěním následujícího příkazu zkopírujte konkrétní soubor z jednoho Data Lake Storage Gen1 účtu do jiného.

    AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/
    

    Příklad:

    AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
    

    Poznámka

    Výše uvedená syntaxe určuje soubor, který se má zkopírovat do složky v cílovém Data Lake Storage Gen1 účtu. Nástroj AdlCopy vytvoří složku, pokud zadaný název složky neexistuje.

    Zobrazí se výzva k zadání přihlašovacích údajů k předplatnému Azure, pod kterým máte účet Data Lake Storage Gen1. Zobrazí se výstup podobný následujícímu:

    Initializing Copy.
    Copy Started.|
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. Následující příkaz zkopíruje všechny soubory z konkrétní složky ve zdrojovém Data Lake Storage Gen1 účtu do složky v cílovém Data Lake Storage Gen1 účtu.

    AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
    

Otázky výkonu

Při použití AdlCopy jako samostatného nástroje se kopírování spouští na sdílených prostředcích spravovaných v Azure. Výkon, který můžete v tomto prostředí dosáhnout, závisí na zatížení systému a dostupných prostředcích. Tento režim se nejlépe používá pro malé přenosy ad hoc. Při použití AdlCopy jako samostatného nástroje není nutné ladit žádné parametry.

Kopírování dat pomocí AdlCopy (s účtem Data Lake Analytics)

Účet Data Lake Analytics můžete také použít ke spuštění úlohy AdlCopy ke kopírování dat z objektů blob úložiště Azure do Data Lake Storage Gen1. Tuto možnost byste obvykle použili v případě, že se přesunovaná data nacházejí v rozsahu gigabajtů a terabajtů a chcete lepší a předvídatelnou propustnost výkonu.

Pokud chcete použít účet Data Lake Analytics s AdlCopy ke kopírování z objektu blob služby Azure Storage, musí být zdroj (Azure Storage Blob) přidán jako zdroj dat pro váš účet Data Lake Analytics. Pokyny k přidání dalších zdrojů dat do účtu Data Lake Analytics najdete v tématu Správa zdrojů dat účtu Data Lake Analytics.

Poznámka

Pokud kopírujete z účtu Azure Data Lake Storage Gen1 jako zdroj pomocí účtu Data Lake Analytics, nemusíte účet Data Lake Storage Gen1 přidružit k účtu Data Lake Analytics. Požadavek na přidružení zdrojového úložiště k účtu Data Lake Analytics je pouze v případech, kdy je zdrojem účet služby Azure Storage.

Spuštěním následujícího příkazu zkopírujte z objektu blob služby Azure Storage do účtu Data Lake Storage Gen1 pomocí účtu 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>

Příklad:

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

Podobně spuštěním následujícího příkazu zkopírujte všechny soubory z konkrétní složky ve zdrojovém Data Lake Storage Gen1 účtu do složky v cílovém Data Lake Storage Gen1 účtu pomocí účtu Data Lake Analytics:

AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2

Otázky výkonu

Při kopírování dat v rozsahu terabajtů poskytuje AdlCopy s vlastním účtem Azure Data Lake Analytics lepší a předvídatelnější výkon. Parametr, který by se měl vyladit, je počet jednotek Azure Data Lake Analytics, které se mají použít pro úlohu kopírování. Zvýšením počtu jednotek se zvýší výkon úlohy kopírování. Každý soubor ke zkopírování může používat maximálně jednu jednotku. Zadání více jednotek, než je počet kopírovaných souborů, nezvýší výkon.

Kopírování dat pomocí AdlCopy pomocí porovnávání vzorů

V této části se dozvíte, jak pomocí AdlCopy zkopírovat data ze zdroje (v našem příkladu níže používáme Azure Storage Blob) do cílového účtu Data Lake Storage Gen1 pomocí porovnávání vzorů. Pomocí následujícího postupu můžete například zkopírovat všechny soubory s příponou .csv ze zdrojového objektu blob do cíle.

  1. Otevřete příkazový řádek a přejděte do adresáře, ve kterém je nainstalovaná aplikace AdlCopy, obvykle %HOMEPATH%\Documents\adlcopy.

  2. Spuštěním následujícího příkazu zkopírujte všechny soubory s příponou *.csv z konkrétního objektu blob ze zdrojového kontejneru do složky 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 *.csv
    

    Příklad:

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

Fakturace

  • Pokud použijete nástroj AdlCopy jako samostatný, budou se vám účtovat náklady na výchozí přenos dat, pokud zdrojový účet Azure Storage není ve stejné oblasti jako účet Data Lake Storage Gen1.
  • Pokud se svým Data Lake Analytics účtem používáte nástroj AdlCopy, budou platit standardní Data Lake Analytics fakturační sazby.

Důležité informace o používání AdlCopy

  • AdlCopy (pro verzi 1.0.5) podporuje kopírování dat ze zdrojů, které mají dohromady více než tisíce souborů a složek. Pokud ale při kopírování velké datové sady narazíte na problémy, můžete soubory nebo složky distribuovat do různých podsložek a místo toho použít cestu k těmto podsložkům jako zdroj.

Důležité informace o výkonu při používání AdlCopy

AdlCopy podporuje kopírování dat obsahujících tisíce souborů a složek. Pokud ale při kopírování velké datové sady narazíte na problémy, můžete soubory nebo složky distribuovat do menších podsložek. AdlCopy byla vytvořena pro ad hoc kopie. Pokud se pokoušíte kopírovat data opakovaně, měli byste zvážit použití Azure Data Factory, která poskytuje úplnou správu operací kopírování.

Poznámky k verzi

  • 1.0.13 – Pokud kopírujete data do stejného účtu Azure Data Lake Storage Gen1 napříč několika příkazy adlcopy, nemusíte už znovu zadávat přihlašovací údaje pro každé spuštění. Adlcopy teď bude ukládat informace do mezipaměti napříč několika spuštěními.

Další kroky