Menyalin data dari Blob Azure Storage ke Azure Data Lake Storage Gen1
Data Lake Storage Gen1 menyediakan alat baris perintah, AdlCopy, untuk menyalin data dari sumber berikut:
- Menyalin data dari Blob Azure Storage ke Data Lake Storage Gen1. Anda tidak dapat menggunakan AdlCopy untuk menyalin data dari Data Lake Storage Gen1 ke Blob Azure Storage.
- Tidak ada akun Data Lake Storage Gen1 yang tersedia.
Anda juga dapat menggunakan alat AdlCopy dalam dua mode berbeda:
- Mandiri, di mana alat ini menggunakan sumber daya Data Lake Storage Gen1 untuk melakukan tugas.
- Menggunakan akun Data Lake Analytics, tempat unit yang ditetapkan ke akun Data Lake Analytics Anda digunakan untuk melakukan operasi penyalinan. Anda mungkin ingin menggunakan opsi ini ketika Anda ingin melakukan tugas salin dengan cara yang dapat diprediksi.
Prasyarat
Sebelum memulai artikel ini, Anda harus memiliki yang berikut ini:
- Langganan Azure. Lihat Mendapatkan uji coba gratis Azure.
- Kontainer blob Azure Storage dengan beberapa data.
- Akun Azure Data Lake Storage Gen1. Untuk petunjuk tentang cara membuatnya, lihat Memulai Azure Data Lake Storage Gen1
- Akun Data Lake Analytics (opsional) - Lihat Mulai menggunakan Azure Data Lake Analytics untuk mendapatkan petunjuk tentang cara membuat akun Data Lake Analytics.
- Alat AdlCopy. Instal alat AdlCopy.
Sintaks alat AdlCopy
Gunakan sintaks berikut untuk bekerja dengan alat 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
Parameter dalam sintaks dijelaskan di bawah ini:
Opsi | Deskripsi |
---|---|
Sumber | Menentukan lokasi data sumber dalam blob penyimpanan Azure. Sumbernya bisa menjadi wadah gumpalan, gumpalan, atau akun Azure Data Lake Storage Gen1 lainnya. |
Dest | Menentukan tujuan Azure Data Lake Storage Gen1 untuk disalin. |
SourceKey | Menentukan kunci akses penyimpanan untuk sumber blob penyimpanan Azure. Ini diperlukan hanya jika sumbernya adalah wadah blob atau blob. |
Akun | Opsional. Gunakan ini jika Anda ingin menggunakan akun Azure Data Lake Analytics untuk menjalankan tugas salin. Jika Anda menggunakan opsi /Account dalam sintaks tetapi tidak menentukan akun Data Lake Analytics, AdlCopy menggunakan akun default untuk menjalankan pekerjaan. Selain itu, jika Anda menggunakan opsi ini, Anda harus menambahkan sumber (Azure Storage Blob) dan tujuan (Azure Data Lake Storage Gen1) sebagai sumber data untuk akun Data Lake Analytics Anda. |
Unit-unit | Menentukan jumlah unit Data Lake Analytics yang akan digunakan untuk tugas penyalinan. Opsi ini wajib dilakukan jika Anda menggunakan opsi /Account untuk menentukan akun Data Lake Analytics. |
Pola | Menentukan pola regex yang menunjukkan blob atau file mana yang akan disalin. AdlCopy menggunakan pencocokan peka huruf besar/kecil. Pola default ketika tidak ada pola yang ditentukan adalah menyalin semua item. Menentukan beberapa pola berkas tidak didukung. |
Menggunakan AdlCopy (sebagai mandiri) untuk menyalin data dari blob Azure Storage
Buka prompt perintah dan arahkan ke direktori tempat AdlCopy diinstal, biasanya
%HOMEPATH%\Documents\adlcopy
.Jalankan perintah berikut untuk menyalin gumpalan tertentu dari wadah sumber ke folder 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>
Contohnya:
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==
Catatan
Sintaks di atas menentukan file yang akan disalin ke folder di akun Azure Data Lake Storage Gen 1. Alat AdlCopy membuat folder jika nama folder yang ditentukan tidak ada.
Anda akan diminta untuk memasukkan kredensial untuk langganan Azure di mana Anda memiliki akun Azure Data Lake Storage Gen1. Anda akan melihat output yang mirip dengan gambar berikut:
Initializing Copy. Copy Started. 100% data copied. Finishing Copy. Copy Completed. 1 file copied.
Anda juga dapat menyalin semua gumpalan dari satu kontainer ke akun Azure Data Lake Storage Gen1 menggunakan perintah berikut:
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>
Contohnya:
AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
Pertimbangan performa
Jika Anda menyalin dari akun Azure Blob Storage, Anda mungkin terhambat selama menyalin di sisi blob Storage. Hal ini akan menurunkan kinerja pekerjaan salinan Anda. Untuk mempelajari lebih lanjut tentang batas Azure Blob Storage, lihat batas Azure Storage di langganan Azure dan batas layanan.
Menggunakan AdlCopy (sebagai mandiri) untuk menyalin data dari akun Azure Data Lake Storage Gen 1 lainnya
Anda juga dapat menggunakan AdlCopy untuk menyalin data di antara dua akun Azure Data Lake Storage Gen1.
Buka prompt perintah dan arahkan ke direktori tempat AdlCopy diinstal, biasanya
%HOMEPATH%\Documents\adlcopy
.Jalankan perintah berikut untuk menyalin file tertentu dari satu akun Data Lake Storage Gen1 ke akun lainnya.
AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/
Contohnya:
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Catatan
Sintaks di atas menentukan file yang akan disalin ke folder di akun Azure Data Lake Storage Gen1 tujuan. Alat AdlCopy membuat folder jika nama folder yang ditentukan tidak ada.
Anda akan diminta untuk memasukkan kredensial untuk langganan Azure di mana Anda memiliki akun Azure Data Lake Storage Gen1. Anda akan melihat output yang mirip dengan gambar berikut:
Initializing Copy. Copy Started.| 100% data copied. Finishing Copy. Copy Completed. 1 file copied.
Perintah berikut menyalin semua file dari folder tertentu di akun Azure Data Lake Storage Gen1 sumber ke folder di akun Azure Data Lake Storage Gen1 tujuan.
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Pertimbangan performa
Saat menggunakan AdlCopy sebagai alat mandiri, salinan dijalankan pada sumber daya bersama yang dikelola Azure. Kinerja yang mungkin Anda dapatkan di lingkungan ini tergantung pada beban sistem dan sumber daya yang tersedia. Mode ini paling baik digunakan untuk transfer kecil secara sementara. Tidak ada parameter yang perlu disetel saat menggunakan AdlCopy sebagai alat mandiri.
Menggunakan AdlCopy (dengan akun Data Lake Analytics) untuk menyalin data
Anda juga dapat menggunakan akun Data Lake Analytics untuk menjalankan tugas AdlCopy untuk menyalin data dari blob penyimpanan Azure ke Data Lake Storage Gen1. Anda biasanya akan menggunakan opsi ini ketika data yang akan dipindahkan berada dalam kisaran gigabyte dan terabyte, dan Anda menginginkan throughput kinerja yang lebih baik dan dapat diprediksi.
Untuk menggunakan akun Data Lake Analytics anda dengan AdlCopy untuk menyalin dari Blob Penyimpanan Azure, sumbernya (Azure Storage Blob) harus ditambahkan sebagai sumber data untuk akun Data Lake Analytics Anda. Untuk petunjuk tentang menambahkan sumber data tambahan ke akun Data Lake Analytics Anda, lihat Mengelola sumber data akun Data Lake Analytics.
Catatan
Jika Anda menyalin dari akun Azure Data Lake Storage Gen1 sebagai sumber menggunakan akun Data Lake Analytics, Anda tidak perlu mengaitkan akun Data Lake Storage Gen1 dengan akun Data Lake Analytics. Persyaratan untuk mengaitkan penyimpanan sumber dengan akun Data Lake Analytics hanya saat sumbernya adalah akun Azure Storage.
Jalankan perintah berikut untuk menyalin dari gumpalan Azure Storage ke akun Data Lake Storage Gen1 menggunakan akun 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>
Contohnya:
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
Demikian pula, jalankan perintah berikut untuk menyalin semua file dari folder tertentu di akun Data Lake Storage Gen1 sumber ke folder di akun Data Lake Storage Gen1 tujuan menggunakan akun Data Lake Analytics:
AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2
Pertimbangan performa
Saat menyalin data dalam rentang terabyte, menggunakan AdlCopy dengan akun Azure Data Lake Analytics Anda sendiri memberikan kinerja yang lebih baik dan lebih dapat diprediksi. Parameter yang harus disetel adalah jumlah Unit Azure Data Lake Analytics yang akan digunakan untuk pekerjaan penyalinan. Meningkatkan jumlah unit akan meningkatkan kinerja pekerjaan salin Anda. Setiap file yang akan disalin dapat menggunakan maksimal satu unit. Menentukan lebih banyak unit daripada jumlah berkas yang sedang disalin tidak akan meningkatkan kinerja.
Menggunakan AdlCopy untuk menyalin data menggunakan pencocokan pola
Di bagian ini, Anda mempelajari cara menggunakan AdlCopy untuk menyalin data dari sumber (dalam contoh kami di bawah ini, kami menggunakan Azure Storage Blob) ke akun Data Lake Storage Gen1 tujuan menggunakan pencocokan pola. Misalnya, Anda dapat menggunakan langkah-langkah di bawah ini untuk menyalin semua .csv ekstensi dari blob sumber ke tujuan.
Buka prompt perintah dan arahkan ke direktori tempat AdlCopy diinstal, biasanya
%HOMEPATH%\Documents\adlcopy
.Jalankan perintah berikut untuk menyalin blob tertentu dari wadah sumber ke folder 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
Contohnya:
AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
Billing
- Jika Anda menggunakan alat AdlCopy sebagai mandiri, Anda akan ditagih untuk biaya keluar untuk memindahkan data, jika akun Sumber Microsoft Azure Storage tidak berada di wilayah yang sama dengan akun Gen1 Penyimpanan Data Lake.
- Jika Anda menggunakan alat AdlCopy dengan akun Data Lake Analytics, tarif penagihan Data Lake Analytics standar akan berlaku.
Pertimbangan untuk menggunakan AdlCopy
- AdlCopy (untuk versi 1.0.5), mendukung penyalinan data dari sumber yang secara kolektif memiliki lebih dari ribuan file dan folder. Namun, jika Anda mengalami masalah saat menyalin set data besar, Anda dapat mendistribusikan file/folder ke dalam subfolder yang berbeda dan menggunakan jalur ke subfolder tersebut sebagai sumber.
Pertimbangan kinerja untuk menggunakan AdlCopy
AdlCopy mendukung penyalinan data yang berisi ribuan file dan folder. Namun, jika Anda mengalami masalah saat menyalin set data besar, Anda dapat mendistribusikan file/folder ke subfolder yang lebih kecil. AdlCopy dibuat untuk salinan ad hoc. Jika Anda mencoba menyalin data secara berulang, Anda harus mempertimbangkan menggunakan Azure Data Factory yang menyediakan manajemen penuh di sekitar operasi salinan.
Catatan rilis
- 1.0.13 - Jika Anda menyalin data ke akun Azure Data Lake Storage Gen1 yang sama di beberapa perintah adlcopy, Anda tidak perlu masuk kembali kredensial Anda untuk setiap proses lagi. Adlcopy sekarang akan menyimpan informasi tersebut di beberapa run.