Adatok másolása Azure Storage-blobokból Azure Data Lake Storage Gen1-be

Data Lake Storage Gen1 egy AdlCopy nevű parancssori eszközt biztosít az adatok másolásához a következő forrásokból:

  • Azure Storage-blobokból Data Lake Storage Gen1. Az AdlCopy használatával nem másolhat adatokat Data Lake Storage Gen1 Azure Storage-blobokra.
  • Két Data Lake Storage Gen1 fiók között.

Az AdlCopy eszközt két különböző módban is használhatja:

  • Önálló, ahol az eszköz Data Lake Storage Gen1 erőforrásokat használ a feladat végrehajtásához.
  • Egy Data Lake Analytics fiók használata, amelyben a Data Lake Analytics-fiókhoz rendelt egységeket használják a másolási művelet végrehajtásához. Ezt a lehetőséget akkor érdemes használnia, ha kiszámítható módon szeretné elvégezni a másolási feladatokat.

Előfeltételek

A cikk elkezdéséhez az alábbiakkal kell rendelkeznie:

Az AdlCopy eszköz szintaxisa

Az AdlCopy eszköz használata az alábbi szintaxissal

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

A szintaxis paramétereit az alábbiakban ismertetjük:

Beállítás Leírás
Forrás Megadja a forrásadatok helyét az Azure Storage-blobban. A forrás lehet blobtároló, blob vagy más Data Lake Storage Gen1 fiók.
Dest Megadja a Data Lake Storage Gen1 célhelyet, amelybe másolni szeretne.
SourceKey Megadja az Azure Storage-blobforrás tárolási hozzáférési kulcsát. Ez csak akkor szükséges, ha a forrás egy blobtároló vagy egy blob.
Fiók Nem kötelező. Ezt akkor használja, ha azure Data Lake Analytics-fiókot szeretne használni a másolási feladat futtatásához. Ha a szintaxisban a /Account lehetőséget használja, de nem ad meg Data Lake Analytics fiókot, az AdlCopy egy alapértelmezett fiókot használ a feladat futtatásához. Ha ezt a lehetőséget használja, a forrást (Azure Storage Blob) és a célhelyet (Azure Data Lake Storage Gen1) is hozzá kell adnia a Data Lake Analytics-fiók adatforrásaként.
Egység Megadja a másolási feladathoz használni kívánt Data Lake Analytics egységek számát. Ez a beállítás kötelező, ha a /Account lehetőséget használja a Data Lake Analytics fiók megadásához.
Mintázat Egy regex mintát ad meg, amely azt jelzi, hogy mely blobokat vagy fájlokat szeretné másolni. Az AdlCopy megkülönbözteti a kis- és nagybetűk egyezését. Ha nincs megadva minta, az alapértelmezett minta az összes elem másolása. Több fájlminta megadása nem támogatott.

Az AdlCopy használata (önállóként) adatok másolásához egy Azure Storage-blobból

  1. Nyisson meg egy parancssort, és keresse meg azt a könyvtárat, amelyen az AdlCopy telepítve van, általában %HOMEPATH%\Documents\adlcopy.

  2. Futtassa a következő parancsot egy adott blob forrástárolóból egy Data Lake Storage Gen1 mappába való másolásához:

    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éldául:

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

    Megjegyzés

    A fenti szintaxis határozza meg a Data Lake Storage Gen1 fiók mappájába másolandó fájlt. Az AdlCopy eszköz létrehoz egy mappát, ha a megadott mappanév nem létezik.

    A rendszer kérni fogja, hogy adja meg annak az Azure-előfizetésnek a hitelesítő adatait, amely alatt a Data Lake Storage Gen1-fiókjával rendelkezik. A következőhöz hasonló kimenet jelenik meg:

    Initializing Copy.
    Copy Started.
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. Az összes blobot egy tárolóból is átmásolhatja a Data Lake Storage Gen1 fiókba a következő paranccsal:

    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éldául:

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

A teljesítménnyel kapcsolatos megfontolások

Ha Azure Blob Storage-fiókból másol, előfordulhat, hogy a blobtároló oldalán a másolás során szabályozva lesz. Ez rontja a másolási feladat teljesítményét. A Azure Blob Storage korlátaival kapcsolatos további információkért lásd: Azure Storage-korlátozások az Azure-előfizetések és -szolgáltatások korlátainál.

Adatok másolása egy másik Data Lake Storage Gen1 fiókból az AdlCopy használatával (önállóként)

Az AdlCopy használatával adatokat másolhat két Data Lake Storage Gen1 fiók között.

  1. Nyisson meg egy parancssort, és keresse meg azt a könyvtárat, amelyen az AdlCopy telepítve van, általában %HOMEPATH%\Documents\adlcopy.

  2. Futtassa a következő parancsot egy adott fájl Data Lake Storage Gen1 fiókból egy másikba való másolásához.

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

    Például:

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

    Megjegyzés

    A fenti szintaxis határozza meg, hogy a fájlt a célfiók Data Lake Storage Gen1 mappájába kell-e másolni. Az AdlCopy eszköz létrehoz egy mappát, ha a megadott mappanév nem létezik.

    A rendszer kérni fogja, hogy adja meg annak az Azure-előfizetésnek a hitelesítő adatait, amely alatt a Data Lake Storage Gen1-fiókjával rendelkezik. A következőhöz hasonló kimenet jelenik meg:

    Initializing Copy.
    Copy Started.|
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. A következő parancs az összes fájlt a forrásfiók egy adott mappájából másolja Data Lake Storage Gen1 a cél Data Lake Storage Gen1 fiók egyik mappájába.

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

A teljesítménnyel kapcsolatos megfontolások

Ha az AdlCopyt önálló eszközként használja, a példány megosztott, Azure-beli felügyelt erőforrásokon fut. Az ebben a környezetben elérhető teljesítmény a rendszer terhelésétől és a rendelkezésre álló erőforrásoktól függ. Ez a mód a kis méretű átvitelekhez ajánlott alkalmi jelleggel. Az AdlCopy önálló eszközként való használatakor nem kell paramétereket hangolni.

Adatok másolása az AdlCopy használatával (Data Lake Analytics fiókkal)

A Data Lake Analytics fiókjával is futtathatja az AdlCopy-feladatot, hogy adatokat másoljon az Azure Storage-blobokból a Data Lake Storage Gen1. Ezt a beállítást általában akkor érdemes használni, ha az áthelyezni kívánt adatok gigabájt és terabájt tartományba kerülnek, és jobb és kiszámíthatóbb teljesítmény-átviteli sebességet szeretne.

Ha a Data Lake Analytics fiókját az AdlCopy használatával szeretné másolni egy Azure Storage-blobból, a forrást (Azure Storage-blobot) hozzá kell adni a Data Lake Analytics-fiók adatforrásaként. További adatforrások Data Lake Analytics-fiókhoz való hozzáadására vonatkozó utasításokért lásd: Data Lake Analytics-fiók adatforrásainak kezelése.

Megjegyzés

Ha egy Azure Data Lake Storage Gen1-fiókból másol forrásként egy Data Lake Analytics-fiókot, nem kell társítania a Data Lake Storage Gen1 fiókot a Data Lake Analytics-fiókkal. A forrástárolónak a Data Lake Analytics-fiókkal való társítására csak akkor van szükség, ha a forrás Azure Storage-fiók.

Futtassa a következő parancsot egy Azure Storage-blobról egy Data Lake Storage Gen1-fiókba Data Lake Analytics-fiók használatával történő másoláshoz:

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éldául:

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

Hasonlóképpen futtassa a következő parancsot a forrásfiók adott mappájából származó összes fájl másolásához Data Lake Storage Gen1 célfiókban lévő mappába Data Lake Storage Gen1 Data Lake Analytics fiók használatával:

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

A teljesítménnyel kapcsolatos megfontolások

Az adatok terabájt-tartományban történő másolásakor az AdlCopy saját Azure Data Lake Analytics-fiókjával jobb és kiszámíthatóbb teljesítményt nyújt. A hangolandó paraméter a másolási feladathoz használni kívánt Azure Data Lake Analytics-egységek száma. Az egységek számának növelése növeli a másolási feladat teljesítményét. Minden másolandó fájl legfeljebb egy egységet használhat. A másolt fájlok számánál több egység megadása nem növeli a teljesítményt.

Adatok másolása az AdlCopy használatával mintaegyeztetés használatával

Ebben a szakaszban megtudhatja, hogyan másolhat adatokat egy forrásból az AdlCopy használatával (az alábbi példában az Azure Storage Blobot használjuk) egy cél Data Lake Storage Gen1 fiókba mintaegyeztetés használatával. Az alábbi lépésekkel például átmásolhatja az összes .csv kiterjesztésű fájlt a forrásblobból a célhelyre.

  1. Nyisson meg egy parancssort, és keresse meg azt a könyvtárat, ahol az AdlCopy telepítve van, általában %HOMEPATH%\Documents\adlcopy.

  2. Futtassa a következő parancsot az összes *.csv kiterjesztésű fájl másolásához egy adott blobból a forrástárolóból egy Data Lake Storage Gen1 mappába:

    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éldául:

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

Számlázás

  • Ha az AdlCopy eszközt önállóként használja, akkor az adatok áthelyezésének kimenő forgalmi költségeiért kell fizetnie, ha a forrás Azure Storage-fiók nem ugyanabban a régióban található, mint a Data Lake Storage Gen1-fiók.
  • Ha az AdlCopy eszközt használja a Data Lake Analytics-fiókjával, a standard Data Lake Analytics számlázási díjak érvényesek lesznek.

Megfontolandó szempontok az AdlCopy használatához

  • Az AdlCopy (az 1.0.5-ös verzióhoz) támogatja az adatok több ezernél több fájllal és mappával rendelkező forrásokból történő másolását. Ha azonban problémákba ütközik egy nagy adatkészlet másolása során, a fájlokat/mappákat különböző almappákba terjesztheti, és forrásként használhatja az almappák elérési útját.

Teljesítménnyel kapcsolatos szempontok az AdlCopy használatához

Az AdlCopy támogatja a több ezer fájlt és mappát tartalmazó adatok másolását. Ha azonban problémákba ütközik egy nagy adathalmaz másolása során, a fájlokat/mappákat kisebb almappákba terjesztheti. Az AdlCopy alkalmi példányokhoz készült. Ha ismétlődően próbál adatokat másolni, érdemes megfontolnia Azure Data Factory használatát, amely teljes körű felügyeletet biztosít a másolási műveletek körül.

Kibocsátási megjegyzések

  • 1.0.13 – Ha ugyanazon Azure Data Lake Storage Gen1-fiókba másol adatokat több adlcopy-parancson keresztül, többé nem kell újra megadnia a hitelesítő adatait az egyes futtatáshoz. Az Adlcopy ezt az információt több futtatáson is gyorsítótárazza.

Következő lépések