Azure Depolama Bloblarından Azure Data Lake Storage 1. Nesil'e veri kopyalama
Data Lake Storage 1. Nesil, aşağıdaki kaynaklardan veri kopyalamak için AdlCopy adlı bir komut satırı aracı sağlar:
- Azure Depolama bloblarından Data Lake Storage 1. Nesil. AdlCopy'yi kullanarak Data Lake Storage 1. Nesil'den Azure Depolama bloblarına veri kopyalayamazsınız.
- İki Data Lake Storage 1. Nesil hesabı arasında.
Ayrıca, AdlCopy aracını iki farklı modda kullanabilirsiniz:
- Aracın görevi gerçekleştirmek için Data Lake Storage 1. Nesil kaynakları kullandığı tek başına.
- kopyalama işlemini gerçekleştirmek için Data Lake Analytics hesabınıza atanan birimlerin kullanıldığı bir Data Lake Analytics hesabı kullanma. Kopyalama görevlerini tahmin edilebilir bir şekilde gerçekleştirmek istediğinizde bu seçeneği kullanmak isteyebilirsiniz.
Önkoşullar
Bu makaleye başlamadan önce aşağıdakilere sahip olmanız ve aşağıdaki işlemleri yapmış olmanız gerekir:
- Bir Azure aboneliği. Bkz. Azure ücretsiz deneme sürümü edinme.
- Azure Depolama blobları kapsayıcısı ve bazı veriler.
- bir Data Lake Storage 1. Nesil hesabı. Oluşturma yönergeleri için bkz. Azure Data Lake Storage 1. Nesil'i kullanmaya başlama
- Data Lake Analytics hesabı (isteğe bağlı) - Data Lake Analytics hesabı oluşturma yönergeleri için bkz. Azure Data Lake Analytics kullanmaya başlama.
- AdlCopy aracı. AdlCopy aracını yükleyin.
AdlCopy aracının söz dizimi
AdlCopy aracıyla çalışmak için aşağıdaki söz dizimini kullanın
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
Söz dizimindeki parametreler aşağıda açıklanmıştır:
Seçenek | Açıklama |
---|---|
Kaynak | Azure depolama blobundaki kaynak verilerin konumunu belirtir. Kaynak bir blob kapsayıcısı, blob veya başka bir Data Lake Storage 1. Nesil hesabı olabilir. |
Dest | Kopyalanacak Data Lake Storage 1. Nesil hedefini belirtir. |
SourceKey | Azure depolama blob kaynağı için depolama erişim anahtarını belirtir. Bu yalnızca kaynak bir blob kapsayıcısı veya blob ise gereklidir. |
Hesap | İsteğe bağlı. Kopyalama işini çalıştırmak için Azure Data Lake Analytics hesabını kullanmak istiyorsanız bunu kullanın. Söz diziminde /Account seçeneğini kullanıyorsanız ancak bir Data Lake Analytics hesabı belirtmezseniz, AdlCopy işi çalıştırmak için varsayılan bir hesap kullanır. Ayrıca bu seçeneği kullanırsanız kaynağı (Azure Depolama Blobu) ve hedefi (Azure Data Lake Storage 1. Nesil) Data Lake Analytics hesabınız için veri kaynağı olarak eklemeniz gerekir. |
Birimler | Kopyalama işi için kullanılacak Data Lake Analytics birim sayısını belirtir. Data Lake Analytics hesabını belirtmek için /Account seçeneğini kullanırsanız bu seçenek zorunludur. |
Desen | Kopyalanacak blobları veya dosyaları gösteren bir regex deseni belirtir. AdlCopy büyük/küçük harfe duyarlı eşleştirme kullanır. Desen belirtilmediğinde varsayılan desen tüm öğeleri kopyalamaktır. Birden çok dosya deseni belirtilmesi desteklenmez. |
Azure Depolama blobundan veri kopyalamak için AdlCopy 'yi (tek başına) kullanma
Bir komut istemi açın ve genellikle
%HOMEPATH%\Documents\adlcopy
AdlCopy'nin yüklü olduğu dizine gidin.Kaynak kapsayıcıdaki belirli bir blobu Data Lake Storage 1. Nesil klasörüne kopyalamak için aşağıdaki komutu çalıştırın:
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>
Örnek:
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==
Not
Yukarıdaki söz dizimi, Data Lake Storage 1. Nesil hesabındaki bir klasöre kopyalanacak dosyayı belirtir. AdlCopy aracı, belirtilen klasör adı yoksa bir klasör oluşturur.
Data Lake Storage 1. Nesil hesabınızın bulunduğu Azure aboneliğinin kimlik bilgilerini girmeniz istenir. Aşağıdakine benzer bir çıkış görürsünüz:
Initializing Copy. Copy Started. 100% data copied. Finishing Copy. Copy Completed. 1 file copied.
Ayrıca aşağıdaki komutu kullanarak tüm blobları bir kapsayıcıdan Data Lake Storage 1. Nesil hesabına kopyalayabilirsiniz:
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>
Örnek:
AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
Performansla ilgili önemli noktalar
bir Azure Blob Depolama hesabından kopyalanıyorsanız, blob depolama tarafında kopyalama sırasında kısıtlanmış olabilirsiniz. Bu, kopyalama işinizin performansını düşürür. Azure Blob Depolama sınırları hakkında daha fazla bilgi edinmek için bkz. Azure aboneliği ve hizmet sınırları bölümünde Azure Depolama sınırları.
Başka bir Data Lake Storage 1. Nesil hesabından veri kopyalamak için AdlCopy 'yi (tek başına) kullanma
İki Data Lake Storage 1. Nesil hesabı arasında veri kopyalamak için AdlCopy'yi de kullanabilirsiniz.
Bir komut istemi açın ve genellikle
%HOMEPATH%\Documents\adlcopy
AdlCopy'nin yüklü olduğu dizine gidin.Belirli bir dosyayı bir Data Lake Storage 1. Nesil hesabından diğerine kopyalamak için aşağıdaki komutu çalıştırın.
AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/
Örnek:
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Not
Yukarıdaki söz dizimi, hedef Data Lake Storage 1. Nesil hesabındaki bir klasöre kopyalanacak dosyayı belirtir. AdlCopy aracı, belirtilen klasör adı yoksa bir klasör oluşturur.
Data Lake Storage 1. Nesil hesabınızın bulunduğu Azure aboneliğinin kimlik bilgilerini girmeniz istenir. Aşağıdakine benzer bir çıkış görürsünüz:
Initializing Copy. Copy Started.| 100% data copied. Finishing Copy. Copy Completed. 1 file copied.
Aşağıdaki komut, kaynak Data Lake Storage 1. Nesil hesabındaki belirli bir klasördeki tüm dosyaları hedef Data Lake Storage 1. Nesil hesabındaki bir klasöre kopyalar.
AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
Performansla ilgili önemli noktalar
AdlCopy'yi tek başına bir araç olarak kullanırken, kopya paylaşılan, Azure tarafından yönetilen kaynaklarda çalıştırılır. Bu ortamda elde ettiğiniz performans, sistem yüküne ve kullanılabilir kaynaklara bağlıdır. Bu mod en iyi şekilde geçici olarak küçük aktarımlar için kullanılır. Tek başına bir araç olarak AdlCopy kullanılırken hiçbir parametrenin ayarlanması gerekmez.
Verileri kopyalamak için AdlCopy (Data Lake Analytics hesabıyla) kullanma
Azure depolama bloblarından Data Lake Storage 1. Nesil veri kopyalamak için AdlCopy işini çalıştırmak için Data Lake Analytics hesabınızı da kullanabilirsiniz. Taşınacak veriler gigabayt ve terabayt aralığında olduğunda ve daha iyi ve öngörülebilir performans aktarım hızı istediğinizde genellikle bu seçeneği kullanırsınız.
Data Lake Analytics hesabınızı AdlCopy ile kullanarak Azure Depolama Blobu'ndan kopyalamak için kaynağın (Azure Depolama Blobu) Data Lake Analytics hesabınız için bir veri kaynağı olarak eklenmesi gerekir. Data Lake Analytics hesabınıza ek veri kaynakları ekleme yönergeleri için bkz. Data Lake Analytics hesabı veri kaynaklarını yönetme.
Not
Data Lake Analytics hesabı kullanarak kaynak olarak bir Azure Data Lake Storage 1. Nesil hesabından kopyalama yapıyorsanız, Data Lake Storage 1. Nesil hesabını Data Lake Analytics hesabıyla ilişkilendirmeniz gerekmez. Kaynak depoyu Data Lake Analytics hesabıyla ilişkilendirme gereksinimi yalnızca kaynak bir Azure Depolama hesabı olduğunda geçerlidir.
Azure Depolama blobundan Data Lake Analytics hesabı kullanarak Data Lake Storage 1. Nesil hesabına kopyalamak için aşağıdaki komutu çalıştırın:
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>
Örnek:
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
Benzer şekilde, kaynak Data Lake Storage 1. Nesil hesabındaki belirli bir klasördeki tüm dosyaları Data Lake Analytics hesabı kullanarak hedef Data Lake Storage 1. Nesil hesabındaki bir klasöre kopyalamak için aşağıdaki komutu çalıştırın:
AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2
Performansla ilgili önemli noktalar
Terabayt aralığındaki verileri kopyalarken AdlCopy'yi kendi Azure Data Lake Analytics hesabınızla kullanmak daha iyi ve daha öngörülebilir bir performans sağlar. Ayarlanması gereken parametre, kopyalama işi için kullanılacak Azure Data Lake Analytics Birimi sayısıdır. Birim sayısını artırmak, kopyalama işinizin performansını artırır. Kopyalanacak her dosya en fazla bir birim kullanabilir. Kopyalanan dosya sayısından daha fazla birim belirtmek performansı artırmaz.
Desen eşleştirme kullanarak verileri kopyalamak için AdlCopy kullanma
Bu bölümde, adlCopy kullanarak bir kaynaktan (aşağıdaki örnekte Azure Depolama Blobu kullanıyoruz) desen eşleştirme kullanarak bir hedef Data Lake Storage 1. Nesil hesabına veri kopyalamayı öğreneceksiniz. Örneğin, .csv uzantılı tüm dosyaları kaynak blobdan hedefe kopyalamak için aşağıdaki adımları kullanabilirsiniz.
Bir komut istemi açın ve genellikle
%HOMEPATH%\Documents\adlcopy
AdlCopy'nin yüklü olduğu dizine gidin.*.csv uzantılı tüm dosyaları kaynak kapsayıcıdaki belirli bir blobdan Data Lake Storage 1. Nesil klasörüne kopyalamak için aşağıdaki komutu çalıştırın:
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
Örnek:
AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
Faturalama
- AdlCopy aracını tek başına kullanırsanız, kaynak Azure Depolama hesabı Data Lake Storage 1. Nesil hesabıyla aynı bölgede değilse, verileri taşımaya yönelik çıkış maliyetleri için faturalandırılırsınız.
- AdlCopy aracını Data Lake Analytics hesabınızla kullanırsanız standart Data Lake Analytics faturalama ücretleri uygulanır.
AdlCopy kullanımıyla ilgili dikkat edilmesi gerekenler
- AdlCopy (sürüm 1.0.5 için), binlerce dosya ve klasör içeren kaynaklardan veri kopyalamayı destekler. Ancak, büyük bir veri kümesini kopyalarken sorunlarla karşılaşırsanız, dosyaları/klasörleri farklı alt klasörlere dağıtabilir ve bunun yerine kaynak olarak bu alt klasörlerin yolunu kullanabilirsiniz.
AdlCopy kullanımı için performansla ilgili dikkat edilmesi gerekenler
AdlCopy, binlerce dosya ve klasör içeren verilerin kopyalanmasını destekler. Ancak, büyük bir veri kümesini kopyalarken sorunlarla karşılaşırsanız, dosyaları/klasörleri daha küçük alt klasörlere dağıtabilirsiniz. AdlCopy geçici kopyalar için oluşturulmuştu. Verileri yinelenen olarak kopyalamaya çalışıyorsanız, kopyalama işlemleriyle ilgili tam yönetim sağlayan Azure Data Factory kullanmayı göz önünde bulundurmalısınız.
Sürüm notları
- 1.0.13 - Birden çok adlcopy komutunda verileri aynı Azure Data Lake Storage 1. Nesil hesabına kopyalanıyorsanız, artık her çalıştırma için kimlik bilgilerinizi yeniden eklemeniz gerekmez. Adlcopy artık bu bilgileri birden çok çalıştırmada önbelleğe alır.