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

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

  • Z Azure Storage objektů blob do Data Lake Storage Gen1 AdlCopy nemůžete použít ke kopírování dat z Data Lake Storage Gen1 do Azure Storage objektů blob.
  • 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 používá k provedení úkolu Data Lake Storage Gen1 zdroje.
  • Pomocí účtu Data Lake Analytics, kde se jednotky přiřazené k vašemu Data Lake Analytics účtu používají k provedení operace kopírování. 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

Použití následující syntaxe pro práci s nástrojem 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

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é se má kopírovat.
SourceKey Určuje přístupový klíč úložiště pro zdroj objektů blob úložiště Azure. To se vyžaduje pouze v případě, že zdroj 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 Azure Data Lake Analytics účet. Pokud použijete možnost /Account v syntaxi, ale nezadáte Data Lake Analytics účet, AdlCopy použije k spuštění úlohy výchozí účet. Pokud použijete tuto možnost, musíte přidat zdroj (Azure Storage objekt 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é se použijí pro úlohu kopírování. Tato možnost je povinná, pokud k zadání Data Lake Analytics účtu použijete možnost /Account.
Vzor Určuje vzor regulárního výrazu, který označuje, které objekty blob nebo soubory se mají kopírovat. AdlCopy používá porovnávání s rozlišováním velkých písmen. Výchozí vzor, pokud není zadán žádný vzor, je kopírovat všechny položky. Určení více vzorů souborů se nepodporuje.

Kopírování dat z objektu blob Azure Storage pomocí AdlCopy (jako samostatného)

  1. Otevřete příkazový řádek a přejděte do adresáře, ve kterém je nainstalován 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

    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ů pro předplatné Azure, ve 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. Všechny objekty blob z jednoho kontejneru můžete také zkopírovat do účtu Data Lake Storage Gen1 pomocí následujícího příkazu:

    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ůžete být při kopírování na straně úložiště objektů blob omezeni. Tím se sníží výkon úlohy kopírování. Další informace o limitech Azure Blob Storage najdete v tématu Azure Storage limity pro předplatné a služby 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 nainstalován AdlCopy, obvykle %HOMEPATH%\Documents\adlcopy.

  2. Spuštěním následujícího příkazu zkopírujte konkrétní soubor z jednoho účtu Data Lake Storage Gen1 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ů pro předplatné Azure, ve 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 kopie spustí na sdílených prostředcích spravovaných Azure. Výkon, který můžete v tomto prostředí získat, 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)

Pomocí svého účtu Data Lake Analytics můžete také spustit úlohu 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, když jsou data, která se mají přesunout, 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 Azure Storage, musí se zdroj (Azure Storage objekt 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 účet 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řípadě, že zdroj je Azure Storage účet.

Spuštěním následujícího příkazu zkopírujte z objektu blob 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 funkce AdlCopy s vlastním účtem Azure Data Lake Analytics lepší a předvídatelnější výkon. Parametr, který by měl být vyladěn, je počet jednotek Azure Data Lake Analytics, které se mají použít pro úlohu kopírování. Zvýšení počtu jednotek zvýší výkon úlohy kopírování. Každý soubor, který se má zkopírovat, může použít maximálně jednu jednotku. Určení více jednotek, než počet zkopírovaných souborů nezvýší výkon.

Kopírování dat pomocí funkce AdlCopy 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 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, kde je nainstalovánA %HOMEPATH%\Documents\adlcopyAdlCopy, obvykle .

  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ý Azure Storage účet není ve stejné oblasti jako účet Data Lake Storage Gen1.
  • Pokud používáte nástroj AdlCopy se svým účtem Data Lake Analytics, použijí se 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í souhrnně více než tisíce souborů a složek. Pokud ale dojde k problémům s kopírováním velké datové sady, můžete soubory nebo složky distribuovat do různých podsložek a místo toho použít cestu k těmto podsložekm 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 dojde k problémům s kopírováním velké datové sady, můžete soubory nebo složky distribuovat do menších podsložek. AdlCopy byl vytvořen pro ad hoc kopie. Pokud se opakovaně pokoušíte kopírovat data, měli byste zvážit použití Azure Data Factory, která zajišťuje ú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 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