Azure HDInsight kümeleri ile Azure Depolama'yı kullanma
Verileri Azure Blob depolama alanında veya Azure Data Lake Storage 2. Nesil depolayabilirsiniz. Ya da bu seçeneklerin bir bileşimi. Bu depolama seçenekleri, kullanıcı verilerini kaybetmeden hesaplama için kullanılan HDInsight kümelerini güvenli bir şekilde silmenizi sağlar.
Apache Hadoop, varsayılan dosya sistemiyle ilgili bir bildirimi destekler. Varsayılan dosya sistemi varsayılan şema ve yetkilisi anlamına gelir. Bu göreceli yolları çözümlemek için de kullanılabilir. HDInsight kümesi oluşturma işlemi sırasında Azure Depolama'da varsayılan dosya sistemi olarak bir blob kapsayıcısı belirtebilirsiniz. HdInsight 3.6 ile Azure Blob depolamayı veya birkaç özel durum dışında varsayılan dosya sistemi olarak Azure Data Lake Storage 2. Nesil seçebilirsiniz.
Bu makalede Azure Depolama'nın HDInsight kümeleri ile nasıl çalıştığı hakkında bilgi edinebilirsiniz.
- Data Lake Storage 2. Nesil HDInsight kümeleriyle nasıl çalıştığını öğrenmek için bkz. Azure HDInsight kümeleriyle Azure Data Lake Storage 2. Nesil kullanma.
- HDInsight kümesi oluşturma hakkında daha fazla bilgi için bkz . HDInsight'ta Apache Hadoop kümeleri oluşturma.
Önemli
Depolama hesabı türü BlobStorage yalnızca HDInsight kümeleri için ikincil depolama olarak kullanılabilir.
Depolama hesabı türü | Desteklenen hizmetler | Desteklenen performans katmanları | Desteklenmeyen performans katmanları | Desteklenen erişim katmanları |
---|---|---|---|---|
StorageV2 (genel amaçlı v2) | Blob | Standart | Premium | Sık Erişimli, Seyrek Erişimli, Arşiv* |
Depolama (genel amaçlı v1) | Blob | Standart | Premium | Yok |
BlobStorage | Blob | Standart | Premium | Sık Erişimli, Seyrek Erişimli, Arşiv* |
İş verilerini depolamak için varsayılan blob kapsayıcısını kullanmanızı önermeyiz. Depolama maliyetini azaltmak için blob kapsayıcısının her kullanımdan sonra silinmesi iyi bir uygulamadır. Varsayılan kapsayıcı uygulama ve sistem günlüklerini içerir. Kapsayıcıyı silmeden önce günlükleri aldığınızdan emin olun.
Bir blob kapsayıcısının birden çok küme için varsayılan dosya sistemi olarak paylaşılması desteklenmez.
Not
Arşiv erişim katmanı, birkaç saatlik alma gecikme süresi olan ve HDInsight ile kullanılması önerilmez çevrimdışı bir katmandır. Daha fazla bilgi için bkz . Arşiv erişim katmanı.
Küme içinden dosyalara erişme
Not
Azure depolama ekibi WASB'de tüm etkin geliştirmeleri sonlandırmıştır ve tüm müşterilerin Blob ve ADLS 2. nesil ile etkileşim kurmak için ABFS sürücüsünü kullanmalarını önerir. Daha fazla bilgi için bkz . Azure Blob Dosya Sistemi sürücüsü (ABFS): Hadoop için ayrılmış bir Azure Depolama sürücüsü
Tam adı kullanarak. Bu yöntemle, erişmek istediğiniz dosyanın tam yolunu girersiniz.
wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/ wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
Kısaltılmış yol biçimi kullanarak. Bu yaklaşımla, küme köküne kadar olan yolu şununla değiştirirsiniz:
wasb:///<file.path>/ wasbs:///<file.path>/
Göreli yolu kullanarak. Bu yöntemle, erişmek istediğiniz dosyanın yalnızca göreli yolunu girersiniz.
/<file.path>/
Veri erişim örnekleri
Örnekler, kümenin baş düğümüne yönelik ssh bağlantısını temel alır. Örneklerde üç URI şeması da kullanılır. ve STORAGEACCOUNT
değerlerini ilgili değerlerle değiştirin CONTAINERNAME
Birkaç hdfs komutu
Yerel depolamada bir dosya oluşturun.
touch testFile.txt
Küme depolamada dizinler oluşturun.
hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -mkdir wasbs:///sampledata2/ hdfs dfs -mkdir /sampledata3/
Verileri yerel depolamadan küme depolama alanına kopyalayın.
hdfs dfs -copyFromLocal testFile.txt wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -copyFromLocal testFile.txt wasbs:///sampledata2/ hdfs dfs -copyFromLocal testFile.txt /sampledata3/
Küme depolamadaki dizin içeriğini listeleyin.
hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -ls wasbs:///sampledata2/ hdfs dfs -ls /sampledata3/
Not
HDInsight dışındaki blob'larla çalışırken, yardımcı programların çoğu WASB biçimini tanımaz ve bunun yerine, example/jars/hadoop-mapreduce-examples.jar
gibi temel yol biçimi gibi bekler.
Hive tablosu oluşturma
Gösterim amacıyla üç dosya konumu gösterilir. Gerçek yürütme için girdilerden LOCATION
yalnızca birini kullanın.
DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
t1 string,
t2 string,
t3 string,
t4 string,
t5 string,
t6 string,
t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/example/data/';
LOCATION 'wasbs:///example/data/';
LOCATION '/example/data/';
Dosyalara küme dışından erişme
Microsoft, Azure Depolama ile çalışmak için aşağıdaki araçları sağlar:
Araç | Linux | OS X | Windows |
---|---|---|---|
Azure portalı | ✔ | ✔ | ✔ |
Azure CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ |
Ambari'den depolama yolunu tanımlama
Yapılandırılan varsayılan deponun tam yolunu belirlemek için adresine gidin:
HDFS>Yapılandırmaları ve filtre giriş kutusuna girin
fs.defaultFS
.Wasb deposu'nun ikincil depolama olarak yapılandırılıp yapılandırılmadığını denetlemek için şu sayfaya gidin:
HDFS>Yapılandırmaları ve filtre giriş kutusuna girin
blob.core.windows.net
.
Ambari REST API kullanarak yolu almak için bkz . Varsayılan depolamayı alma.
Blob kapsayıcıları
Blob'ları kullanmak için önce bir Azure depolama hesabı oluşturursunuz. Bu adımın bir parçası olarak, depolama hesabının oluşturulduğu bir Azure bölgesi belirtirsiniz. Küme ve depolama hesabının aynı bölgede barındırılması gerekir. Hive meta veri deposu SQL Server veritabanı ve Apache Oozie meta veri deposu SQL Server veritabanı aynı bölgede bulunmalıdır.
Nerede olursa olsun, oluşturduğunuz her blob Azure Storage hesabınızdaki bir kapsayıcıya aittir. Bu kapsayıcı, HDInsight dışında oluşturulmuş mevcut bir blob olabilir. Veya hdInsight kümesi için oluşturulmuş bir kapsayıcı olabilir.
Varsayılan Blob kapsayıcısı iş geçmişi ve iş günlükleri gibi kümeye özel bilgileri depolar. Varsayılan Blob kapsayıcısını birden çok HDInsight kümesiyle paylaşmayın. Bu eylem iş geçmişini bozabilir. Her küme için farklı bir kapsayıcı kullanılması önerilir. Paylaşılan verileri varsayılan depolama hesabı yerine tüm ilgili kümeler için belirtilen bağlı bir depolama hesabına yerleştirin. Bağlantılı Depolama hesaplarını yapılandırma hakkında daha fazla bilgi için bkz: HDInsight kümeleri oluşturma. Ancak özgün HDInsight kümesi silindikten sonra varsayılan depolama kapsayıcısını yeniden kullanabilirsiniz. HBase kümeleri için, silinen bir HBase kümesi tarafından kullanılan varsayılan blob kapsayıcısını kullanarak yeni bir HBase kümesi oluşturarak HBase tablo şemasını ve verilerini tutabilirsiniz
Not
Güvenli aktarım gerektiren özellik, güvenli bir bağlantı aracılığıyla hesabınıza yapılan tüm istekleri zorunlu kılar. Bu özelliği yalnızca HDInsight kümesi sürüm 3.6 veya üzeri destekler. Daha fazla bilgi için bkz . Azure HDInsight'ta güvenli aktarım depolama hesaplarıyla Apache Hadoop kümesi oluşturma.
Ek depolama hesaplarını kullanma
HDInsight kümesi oluştururken ilişkilendirmek istediğiniz Azure Depolama hesabını belirtirsiniz. Ayrıca, oluşturma işlemi sırasında veya bir küme oluşturulduktan sonra aynı Azure aboneliğinden veya farklı Azure aboneliklerinden ek depolama hesapları ekleyebilirsiniz. Ek depolama hesapları ekleme hakkında yönergeler için bkz. HDInsight kümeleri oluşturma.
Uyarı
HDInsight kümesi dışında farklı bir konumda ek depolama hesabı kullanılması desteklenmez.
Sonraki adımlar
Bu makalede HDFS ile uyumlu Azure Depolama'yı HDInsight ile nasıl kullanacağınızı öğrendiniz. Bu depolama, uyarlanabilir, uzun vadeli, arşivlenmiş veri alma çözümleri oluşturmanıza ve depolanan yapılandırılmış ve yapılandırılmamış verilerin içindeki bilgilerin kilidini açmak için HDInsight'ı kullanmanıza olanak tanır.
Daha fazla bilgi için bkz.
- Hızlı Başlangıç: Apache Hadoop kümesi oluşturma
- Öğretici: HDInsight kümeleri oluşturma
- Azure HDInsight kümeleriyle Azure Data Lake Storage 2. Nesil hizmetini kullanma
- HDInsight'a veri yükleme
- Öğretici: Azure HDInsight'ta Etkileşimli Sorgu kullanarak verileri ayıklama, dönüştürme ve yükleme
- HDInsight ile verilere erişimi kısıtlamak için Azure Depolama Paylaşılan Erişim İmzaları kullanma