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. AdlCopy nemůžete použít ke kopírování dat 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 použít také ve dvou různých režimech:

  • Samostatně, kde nástroj k provedení úlohy používá Data Lake Storage Gen1 zdroje.
  • Pomocí účtu Data Lake Analytics, kde se k provedení operace kopírování použijí jednotky přiřazené k vašemu účtu Data Lake Analytics. Tuto možnost můžete 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 popsány 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é se má kopírovat.
Zdrojový klíč Určuje přístupový klíč úložiště pro zdroj azure storage blob. 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 účet Data Lake Analytics, AdlCopy použije ke spuštění úlohy výchozí účet. Pokud použijete tuto možnost, musíte také přidat zdroj (Azure Storage Blob) a cíl (Azure Data Lake Storage Gen1) jako zdroje dat pro váš účet Data Lake Analytics.
Jednotky Určuje počet jednotek Data Lake Analytics, které budou použity pro úlohu kopírování. Tato možnost je povinná, pokud k zadání účtu Data Lake Analytics použijete možnost /Account.
Vzor Určuje vzor regulárního výrazu, který určuje, které objekty blob nebo soubory se mají zkopírovat. AdlCopy používá párování rozlišující malá a velká písmena. Pokud není zadán žádný vzor, je výchozím vzorem 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á %HOMEPATH%\Documents\adlcopyaplikace AdlCopy, obvykle .

  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

    Syntaxe výše určuje soubor, který se má zkopírovat do složky v účtu Data Lake Storage Gen1. 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ý tomuto:

    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 Azure Blob Storage účtu, 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)

AdlCopy můžete také použít ke kopírování dat 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á %HOMEPATH%\Documents\adlcopyaplikace AdlCopy, obvykle .

  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

    Syntaxe výše 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ý tomuto:

    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 je nejvhodnější pro malé přenosy ad hoc. Při použití AdlCopy jako samostatného nástroje není potřeba ladit žádné parametry.

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

Svůj účet Data Lake Analytics můžete použít také 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 data, která se mají přesunout, jsou 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í ze služby Azure Storage Blob, musí se zdroj (Azure Storage Blob) přidat 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 zdroje 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 účtu Data Lake Storage Gen1 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 použití nástroje 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 zvýšíte 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.

Použití AdlCopy ke kopírování dat pomocí porovnávání vzorů

V této části se dozvíte, jak pomocí AdlCopy kopírovat data ze zdroje (v našem příkladu níže používáme objekt blob služby Azure Storage) 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