Kopiowanie danych z obiektów blob usługi Azure Storage do usługi Azure Data Lake Storage Gen1
Data Lake Storage Gen1 udostępnia narzędzie wiersza polecenia, AdlCopy, do kopiowania danych z następujących źródeł:
- Z obiektów blob usługi Azure Storage do Data Lake Storage Gen1. Nie można użyć narzędzia AdlCopy do kopiowania danych z Data Lake Storage Gen1 do obiektów blob usługi Azure Storage.
- Między dwoma kontami Data Lake Storage Gen1.
Ponadto możesz użyć narzędzia AdlCopy w dwóch różnych trybach:
- Autonomiczna, w której narzędzie używa Data Lake Storage Gen1 zasobów do wykonania zadania.
- Za pomocą konta Data Lake Analytics, w którym jednostki przypisane do konta Data Lake Analytics są używane do wykonywania operacji kopiowania. Możesz użyć tej opcji, gdy chcesz wykonać zadania kopiowania w przewidywalny sposób.
Wymagania wstępne
Przed rozpoczęciem korzystania z informacji zawartych w tym artykule należy dysponować następującymi elementami:
- Subskrypcja platformy Azure. Zobacz temat Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
- Kontener obiektów blob usługi Azure Storage z niektórymi danymi.
- Konto Data Lake Storage Gen1. Aby uzyskać instrukcje dotyczące sposobu ich tworzenia, zobacz Rozpoczynanie pracy z usługą Azure Data Lake Storage Gen1
- Data Lake Analytics konto (opcjonalnie) — zobacz Wprowadzenie do usługi Azure Data Lake Analytics, aby uzyskać instrukcje dotyczące tworzenia konta Data Lake Analytics.
- Narzędzie AdlCopy. Zainstaluj narzędzie AdlCopy.
Składnia narzędzia AdlCopy
Użyj następującej składni, aby pracować z narzędziem 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 w składni zostały opisane poniżej:
Opcja | Opis |
---|---|
Element źródłowy | Określa lokalizację danych źródłowych w obiekcie blob usługi Azure Storage. Źródłem może być kontener obiektów blob, obiekt blob lub inne konto Data Lake Storage Gen1. |
Dest | Określa miejsce docelowe Data Lake Storage Gen1 do skopiowania. |
SourceKey | Określa klucz dostępu do magazynu dla źródła obiektów blob usługi Azure Storage. Jest to wymagane tylko wtedy, gdy źródło jest kontenerem obiektów blob lub obiektem blob. |
Konto | Opcjonalnie. Użyj tej opcji, jeśli chcesz użyć konta usługi Azure Data Lake Analytics do uruchomienia zadania kopiowania. Jeśli używasz opcji /Account w składni, ale nie określisz konta Data Lake Analytics, narzędzie AdlCopy używa konta domyślnego do uruchamiania zadania. Ponadto jeśli używasz tej opcji, musisz dodać źródło (obiekt blob usługi Azure Storage) i lokalizację docelową (Azure Data Lake Storage Gen1) jako źródła danych dla konta Data Lake Analytics. |
Lekcji | Określa liczbę jednostek Data Lake Analytics, które będą używane do zadania kopiowania. Ta opcja jest obowiązkowa, jeśli użyjesz opcji /Account, aby określić konto Data Lake Analytics. |
Wzorce | Określa wzorzec regex, który wskazuje, które obiekty blob lub pliki mają być skopiowane. Narzędzie AdlCopy używa dopasowywania wielkości liter. Domyślny wzorzec, gdy nie określono wzorca, jest skopiowanie wszystkich elementów. Określanie wielu wzorców plików nie jest obsługiwane. |
Kopiowanie danych z obiektu blob usługi Azure Storage przy użyciu narzędzia AdlCopy (jako autonomicznego)
Otwórz wiersz polecenia i przejdź do katalogu, w którym zainstalowano narzędzie AdlCopy, zazwyczaj
%HOMEPATH%\Documents\adlcopy
.Uruchom następujące polecenie, aby skopiować określony obiekt blob z kontenera źródłowego do folderu 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>
Na przykład:
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==
Uwaga
W powyższej składni określono plik, który ma zostać skopiowany do folderu na koncie Data Lake Storage Gen1. Narzędzie AdlCopy tworzy folder, jeśli określona nazwa folderu nie istnieje.
Zostanie wyświetlony monit o wprowadzenie poświadczeń dla subskrypcji platformy Azure, w ramach której masz konto Data Lake Storage Gen1. Zostaną wyświetlone dane wyjściowe podobne do następujących:
Initializing Copy. Copy Started. 100% data copied. Finishing Copy. Copy Completed. 1 file copied.
Można również skopiować wszystkie obiekty blob z jednego kontenera do konta Data Lake Storage Gen1 przy użyciu następującego polecenia:
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>
Na przykład:
AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
Zagadnienia dotyczące wydajności
Jeśli kopiujesz z konta Azure Blob Storage, możesz być ograniczany podczas kopiowania po stronie magazynu obiektów blob. Spowoduje to obniżenie wydajności zadania kopiowania. Aby dowiedzieć się więcej na temat limitów Azure Blob Storage, zobacz Limity usługi Azure Storage w temacie Limity subskrypcji i usług platformy Azure.
Kopiowanie danych z innego konta Data Lake Storage Gen1 przy użyciu narzędzia AdlCopy (jako autonomicznego)
Możesz również użyć narzędzia AdlCopy do kopiowania danych między dwoma kontami Data Lake Storage Gen1.
Otwórz wiersz polecenia i przejdź do katalogu, w którym zainstalowano narzędzie AdlCopy, zazwyczaj
%HOMEPATH%\Documents\adlcopy
.Uruchom następujące polecenie, aby skopiować określony plik z jednego konta Data Lake Storage Gen1 do innego.
AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/
Na przykład:
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Uwaga
Składnia powyżej określa plik, który ma zostać skopiowany do folderu na koncie docelowym Data Lake Storage Gen1. Narzędzie AdlCopy tworzy folder, jeśli określona nazwa folderu nie istnieje.
Zostanie wyświetlony monit o wprowadzenie poświadczeń dla subskrypcji platformy Azure, w ramach której masz konto Data Lake Storage Gen1. Zostaną wyświetlone dane wyjściowe podobne do następujących:
Initializing Copy. Copy Started.| 100% data copied. Finishing Copy. Copy Completed. 1 file copied.
Następujące polecenie kopiuje wszystkie pliki z określonego folderu na koncie źródłowym Data Lake Storage Gen1 do folderu na koncie Data Lake Storage Gen1 docelowym.
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Zagadnienia dotyczące wydajności
W przypadku korzystania z narzędzia AdlCopy jako autonomicznego kopia jest uruchamiana na udostępnionych, zarządzanych przez platformę Azure zasobach. Wydajność, którą można uzyskać w tym środowisku, zależy od obciążenia systemu i dostępnych zasobów. Ten tryb jest najlepiej używany w przypadku małych transferów na zasadzie ad hoc. Nie trzeba dostrajać parametrów podczas korzystania z narzędzia AdlCopy jako autonomicznego narzędzia.
Kopiowanie danych za pomocą narzędzia AdlCopy (z kontem Data Lake Analytics)
Możesz również użyć konta Data Lake Analytics, aby uruchomić zadanie narzędzia AdlCopy w celu skopiowania danych z obiektów blob usługi Azure Storage do Data Lake Storage Gen1. Zazwyczaj używa się tej opcji, gdy dane do przeniesienia są w zakresie gigabajtów i terabajtów oraz chcesz uzyskać lepszą i przewidywalną przepływność wydajności.
Aby użyć konta Data Lake Analytics z narzędziem AdlCopy do kopiowania z obiektu blob usługi Azure Storage, źródło (obiekt blob usługi Azure Storage) musi zostać dodane jako źródło danych dla konta Data Lake Analytics. Aby uzyskać instrukcje dotyczące dodawania dodatkowych źródeł danych do konta Data Lake Analytics, zobacz Zarządzanie źródłami danych konta Data Lake Analytics.
Uwaga
Jeśli kopiujesz z konta Azure Data Lake Storage Gen1 jako źródła przy użyciu konta Data Lake Analytics, nie musisz skojarzyć konta Data Lake Storage Gen1 z kontem Data Lake Analytics. Wymaganie skojarzenia magazynu źródłowego z kontem Data Lake Analytics jest tylko wtedy, gdy źródłem jest konto usługi Azure Storage.
Uruchom następujące polecenie, aby skopiować z obiektu blob usługi Azure Storage do konta Data Lake Storage Gen1 przy użyciu konta 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>
Na przykład:
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
Podobnie uruchom następujące polecenie, aby skopiować wszystkie pliki z określonego folderu na koncie Data Lake Storage Gen1 źródłowym do folderu na koncie Data Lake Storage Gen1 docelowym przy użyciu konta Data Lake Analytics:
AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2
Zagadnienia dotyczące wydajności
Podczas kopiowania danych w zakresie terabajtów użycie narzędzia AdlCopy z własnym kontem usługi Azure Data Lake Analytics zapewnia lepszą i bardziej przewidywalną wydajność. Parametr, który powinien być dostrojony, to liczba jednostek usługi Azure Data Lake Analytics do użycia dla zadania kopiowania. Zwiększenie liczby jednostek zwiększy wydajność zadania kopiowania. Każdy plik do skopiowania może używać maksymalnie jednej jednostki. Określenie większej liczby jednostek niż liczba kopiowanych plików nie zwiększy wydajności.
Kopiowanie danych przy użyciu narzędzia AdlCopy przy użyciu dopasowania wzorca
W tej sekcji dowiesz się, jak używać narzędzia AdlCopy do kopiowania danych ze źródła (w poniższym przykładzie używamy obiektu blob usługi Azure Storage) do konta docelowego Data Lake Storage Gen1 przy użyciu dopasowania wzorca. Na przykład możesz użyć poniższych kroków, aby skopiować wszystkie pliki z rozszerzeniem .csv ze źródłowego obiektu blob do miejsca docelowego.
Otwórz wiersz polecenia i przejdź do katalogu, w którym zainstalowano narzędzie AdlCopy, zazwyczaj
%HOMEPATH%\Documents\adlcopy
.Uruchom następujące polecenie, aby skopiować wszystkie pliki z rozszerzeniem *.csv z określonego obiektu blob z kontenera źródłowego do folderu 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
Na przykład:
AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
Rozliczenia
- Jeśli używasz narzędzia AdlCopy jako autonomicznego, opłaty za ruch wychodzący będą naliczane za przenoszenie danych, jeśli źródłowe konto usługi Azure Storage nie znajduje się w tym samym regionie co konto Data Lake Storage Gen1.
- Jeśli używasz narzędzia AdlCopy z kontem Data Lake Analytics, zostaną zastosowane standardowe Data Lake Analytics stawki rozliczeniowe.
Zagadnienia dotyczące korzystania z narzędzia AdlCopy
- Narzędzie AdlCopy (w wersji 1.0.5) obsługuje kopiowanie danych ze źródeł, które łącznie mają ponad tysiące plików i folderów. Jeśli jednak wystąpią problemy z kopiowaniem dużego zestawu danych, możesz rozpowszechnić pliki/foldery w różnych podfolderach i użyć ścieżki do tych podfolderów jako źródła.
Zagadnienia dotyczące wydajności dotyczące korzystania z narzędzia AdlCopy
Narzędzie AdlCopy obsługuje kopiowanie danych zawierających tysiące plików i folderów. Jeśli jednak wystąpią problemy z kopiowaniem dużego zestawu danych, możesz dystrybuować pliki/foldery do mniejszych podfolderów. Narzędzie AdlCopy zostało utworzone na potrzeby kopii ad hoc. Jeśli próbujesz kopiować dane cyklicznie, należy rozważyć użycie Azure Data Factory, które zapewnia pełne zarządzanie operacjami kopiowania.
Informacje o wersji
- 1.0.13 — jeśli kopiujesz dane na to samo konto Azure Data Lake Storage Gen1 za pomocą wielu poleceń narzędzia adlcopy, nie musisz już ponownie wprowadzić poświadczeń dla każdego przebiegu. Narzędzie Adlcopy będzie teraz buforowane te informacje w wielu przebiegach.