Freigeben über


Kopieren von Daten aus Azure Storage Blobs in Azure Data Lake Storage Gen1

Data Lake Storage Gen1 bietet ein Befehlszeilentool, AdlCopy, um Daten aus den folgenden Quellen zu kopieren:

  • Von Azure Storage-Blobs in das Data Lake Storage Gen1. Sie können AdlCopy nicht verwenden, um Daten aus Data Lake Storage Gen1 in Azure Storage Blobs zu kopieren.
  • Zwischen zwei Data Lake Storage Gen1-Konten.

Außerdem können Sie das AdlCopy-Tool in zwei verschiedenen Modi verwenden:

  • eigenständigen, in dem das Tool Data Lake Storage Gen1-Ressourcen zum Ausführen des Vorgangs verwendet.
  • Verwenden eines Data Lake Analytics-Kontos, wobei die Einheiten, die Ihrem Data Lake Analytics-Konto zugewiesen sind, zum Ausführen des Kopiervorgangs verwendet werden. Sie können diese Option verwenden, wenn Sie die Kopieraufgaben auf vorhersehbare Weise ausführen möchten.

Voraussetzungen

Bevor Sie mit diesem Artikel beginnen, müssen Sie folgendes haben:

Syntax des AdlCopy-Tools

Verwenden der folgenden Syntax zum Arbeiten mit dem AdlCopy-Tool

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

Die Parameter in der Syntax werden unten beschrieben:

Auswahlmöglichkeit BESCHREIBUNG
Quelle Gibt den Speicherort der Quelldaten im Azure Storage-BLOB an. Die Quelle kann ein Blob-Container, ein Blob oder ein anderes Data Lake Storage Gen1-Konto sein.
Dest Gibt das Data Lake Storage Gen1-Ziel an, in das kopiert werden soll.
SourceKey Gibt den Speicherzugriffsschlüssel für die Azure Storage-BLOB-Quelle an. Dies ist nur erforderlich, wenn es sich bei der Quelle um einen Blob-Container oder ein Blob handelt.
Konto Optional. Verwenden Sie diese Vorgehensweise, wenn Sie das Azure Data Lake Analytics-Konto verwenden möchten, um den Kopierauftrag auszuführen. Wenn Sie die Option "/Account" in der Syntax verwenden, aber kein Data Lake Analytics-Konto angeben, verwendet AdlCopy ein Standardkonto, um den Auftrag auszuführen. Wenn Sie diese Option verwenden, müssen Sie auch die Quelle (Azure Storage Blob) und das Ziel (Azure Data Lake Storage Gen1) als Datenquellen für Ihr Data Lake Analytics-Konto hinzufügen.
Einheiten Gibt die Anzahl der Data Lake Analytics-Einheiten an, die für den Kopierauftrag verwendet werden. Diese Option ist obligatorisch, wenn Sie die Option /Account verwenden, um das Data Lake Analytics-Konto anzugeben.
Muster Gibt ein regex-Muster an, das angibt, welche Blobs oder Dateien kopiert werden sollen. AdlCopy verwendet den Abgleich zwischen Groß- und Kleinschreibung. Das Standardmuster, wenn kein Muster angegeben wird, besteht darin, alle Elemente zu kopieren. Das Angeben mehrerer Dateimuster wird nicht unterstützt.

Verwenden von AdlCopy (als eigenständige Datei) zum Kopieren von Daten aus einem Azure Storage-Blob

  1. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, in dem AdlCopy installiert ist, in der Regel %HOMEPATH%\Documents\adlcopy.

  2. Führen Sie den folgenden Befehl aus, um ein bestimmtes Blob aus dem Quellcontainer in einen Data Lake Storage Gen1-Ordner zu kopieren:

    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>
    

    Beispiel:

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

    Hinweis

    Die obige Syntax gibt die Datei an, die in einen Ordner im Data Lake Storage Gen1-Konto kopiert werden soll. Das AdlCopy-Tool erstellt einen Ordner, wenn der angegebene Ordnername nicht vorhanden ist.

    Sie werden aufgefordert, die Anmeldeinformationen für das Azure-Abonnement einzugeben, unter dem Sie Über Ihr Data Lake Storage Gen1-Konto verfügen. Es wird eine ähnliche Ausgabe wie die folgende angezeigt:

    Initializing Copy.
    Copy Started.
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. Sie können auch alle Blobs aus einem Container in das Data Lake Storage Gen1-Konto kopieren, indem Sie den folgenden Befehl verwenden:

    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>  
    

    Beispiel:

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

Leistungsüberlegungen

Wenn Sie aus einem Azure Blob Storage-Konto kopieren, werden Sie möglicherweise während der Kopie auf der Blob-Speicherseite gedrosselt. Dadurch wird die Leistung Ihres Kopierauftrags beeinträchtigt. Weitere Informationen zu den Grenzwerten von Azure Blob Storage finden Sie unter Azure Storage-Grenzwerte bei Azure-Abonnement- und Dienstbeschränkungen.

Verwenden von AdlCopy (als eigenständige Datei) zum Kopieren von Daten aus einem anderen Data Lake Storage Gen1-Konto

Sie können auch AdlCopy verwenden, um Daten zwischen zwei Data Lake Storage Gen1-Konten zu kopieren.

  1. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, in dem AdlCopy installiert ist, in der Regel %HOMEPATH%\Documents\adlcopy.

  2. Führen Sie den folgenden Befehl aus, um eine bestimmte Datei aus einem Data Lake Storage Gen1-Konto in ein anderes zu kopieren.

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

    Beispiel:

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

    Hinweis

    Die obige Syntax gibt die Datei an, die in einen Ordner im Zielkonto des Data Lake Storage Gen1 kopiert werden soll. Das AdlCopy-Tool erstellt einen Ordner, wenn der angegebene Ordnername nicht vorhanden ist.

    Sie werden aufgefordert, die Anmeldeinformationen für das Azure-Abonnement einzugeben, unter dem Sie Über Ihr Data Lake Storage Gen1-Konto verfügen. Es wird eine Ausgabe ähnlich der folgenden angezeigt.

    Initializing Copy.
    Copy Started.|
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. Mit dem folgenden Befehl werden alle Dateien aus einem bestimmten Ordner im Quellkonto "Data Lake Storage Gen1" in einen Ordner im Zielkonto "Data Lake Storage Gen1" kopiert.

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

Leistungsüberlegungen

Wenn Sie AdlCopy als eigenständiges Tool verwenden, wird die Kopie auf freigegebenen, von Azure verwalteten Ressourcen ausgeführt. Die Leistung, die Sie in dieser Umgebung erhalten, hängt von systemlasten und verfügbaren Ressourcen ab. Dieser Modus wird am besten für kleine Übertragungen auf Ad-hoc-Basis verwendet. Bei Verwendung von AdlCopy als eigenständiges Tool müssen keine Parameter abgestimmt werden.

Verwenden von AdlCopy (mit Data Lake Analytics-Konto) zum Kopieren von Daten

Sie können Auch Ihr Data Lake Analytics-Konto verwenden, um den AdlCopy-Auftrag auszuführen, um Daten aus Azure Storage Blobs in Data Lake Storage Gen1 zu kopieren. In der Regel verwenden Sie diese Option, wenn sich die zu verschiebenden Daten im Bereich von Gigabyte und Terabyte befinden, und Sie möchten einen besseren und vorhersehbaren Leistungsdurchsatz erzielen.

Damit Sie Ihr Data Lake Analytics-Konto mit AdlCopy aus einem Azure Storage Blob kopieren können, muss die Quelle (Azure Storage Blob) als Datenquelle für Ihr Data Lake Analytics-Konto hinzugefügt werden. Anweisungen zum Hinzufügen zusätzlicher Datenquellen zu Ihrem Data Lake Analytics-Konto finden Sie unter Verwalten von Data Lake Analytics-Kontodatenquellen.

Hinweis

Wenn Sie ein Azure Data Lake Storage Gen1-Konto als Quelle mit einem Data Lake Analytics-Konto kopieren, müssen Sie das Data Lake Storage Gen1-Konto nicht dem Data Lake Analytics-Konto zuordnen. Die Anforderung, den Quellspeicher dem Data Lake Analytics-Konto zuzuordnen, ist nur, wenn die Quelle ein Azure Storage-Konto ist.

Führen Sie den folgenden Befehl aus, um mithilfe eines Data Lake Analytics-Kontos aus einem Azure Storage-BLOB in ein Data Lake Storage Gen1-Konto zu kopieren:

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>

Beispiel:

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

Führen Sie auf ähnliche Weise den folgenden Befehl aus, um alle Dateien aus einem bestimmten Ordner im Quellkonto "Data Lake Storage Gen1" in einen Ordner im Data Lake Storage Gen1-Zielkonto mithilfe des Data Lake Analytics-Kontos zu kopieren:

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

Leistungsüberlegungen

Beim Kopieren von Daten im Bereich von Terabytes bietet die Verwendung von AdlCopy mit Ihrem eigenen Azure Data Lake Analytics-Konto eine bessere und vorhersehbarere Leistung. Der Parameter, der abgestimmt werden soll, ist die Anzahl der Azure Data Lake Analytics Units, die für den Kopierauftrag verwendet werden sollen. Wenn Sie die Anzahl der Einheiten erhöhen, erhöht sich die Leistung Ihres Kopierauftrags. Jede zu kopierende Datei kann maximal eine Einheit verwenden. Wenn Sie mehr Einheiten als die Anzahl der kopierten Dateien angeben, wird die Leistung nicht erhöht.

Verwenden von AdlCopy zum Kopieren von Daten mithilfe des Musterabgleichs

In diesem Abschnitt erfahren Sie, wie Sie mit AdlCopy Daten aus einer Quelle (in unserem beispiel unten verwenden wir Azure Storage Blob) in ein Zielkonto des Data Lake Storage Gen1 mithilfe des Musterabgleichs kopieren. Sie können z. B. die folgenden Schritte verwenden, um alle Dateien mit .csv Erweiterung aus dem Quell-BLOB auf das Ziel zu kopieren.

  1. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, in dem AdlCopy installiert ist, in der Regel %HOMEPATH%\Documents\adlcopy.

  2. Führen Sie den folgenden Befehl aus, um alle Dateien mit *.csv-Erweiterung aus einem bestimmten Blob aus dem Quellcontainer in einen Data Lake Storage Gen1-Ordner zu kopieren:

    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
    

    Beispiel:

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

Abrechnung

  • Wenn Sie das AdlCopy-Tool als Standalone-Anwendung nutzen, werden Ihnen die Kosten für die Datenübertragung in Rechnung gestellt, wenn sich das Quellkonto von Azure Storage nicht in der gleichen Region wie das Data Lake Storage Gen1-Konto befindet.
  • Wenn Sie das AdlCopy-Tool mit Ihrem Data Lake Analytics-Konto verwenden, gelten standardmäßige Data Lake Analytics-Abrechnungssätze.

Überlegungen zur Verwendung von AdlCopy

  • AdlCopy (für Version 1.0.5) unterstützt das Kopieren von Daten aus Quellen, die zusammen mehr als Tausende von Dateien und Ordnern aufweisen. Wenn beim Kopieren eines großen Datasets jedoch Probleme auftreten, können Sie die Dateien/Ordner in verschiedene Unterordner verteilen und stattdessen den Pfad zu diesen Unterordnern als Quelle verwenden.

Leistungsüberlegungen für die Verwendung von AdlCopy

AdlCopy unterstützt das Kopieren von Daten, die Tausende von Dateien und Ordnern enthalten. Wenn beim Kopieren eines großen Datasets jedoch Probleme auftreten, können Sie die Dateien/Ordner in kleinere Unterordner verteilen. AdlCopy wurde für Ad-hoc-Kopien erstellt. Wenn Sie versuchen, Daten regelmäßig zu kopieren, sollten Sie Azure Data Factory- verwenden, die die vollständige Verwaltung der Kopiervorgänge bietet.

Versionshinweise

  • 1.0.13 – Wenn Sie Daten in dasselbe Azure Data Lake Storage Gen1-Konto über mehrere Adlcopy-Befehle kopieren, müssen Sie Ihre Anmeldeinformationen für jede Ausführung nicht mehr erneut eingeben. Adlcopy speichert nun diese Informationen über mehrere Durchläufe hinweg.

Nächste Schritte