Hive Sorgusundan İçeri Aktarma
Önemli
Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.
1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.
- Makine öğrenmesi projelerini ML Studio'dan (klasik) Azure Machine Learning taşıma hakkındaki bilgilere bakın.
- Azure Machine Learning hakkında daha fazla bilgi edinin.
ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.
Bu makalede, Hadoop kümelerinden ve HDInsight dağıtılmış depolama alanından veri almak için Machine Learning Studio'da (klasik) Verileri İçeri Aktarma modülünün nasıl kullanılacağı açıklanmaktadır.
Not
Şunlar için geçerlidir: yalnızca Machine Learning Studio (klasik)
Benzer sürükle ve bırak modülleri de Azure Machine Learning tasarımcısında kullanılabilir.
Hive'dan verileri içeri aktarmak özellikle büyük veri kümelerini yüklemek veya verileri bir makine öğrenmesi denemesine yüklemeden önce MapReduce bir iş kullanarak verileri önceden işlemek istiyorsanız yararlıdır.
Önemli
31 Temmuz 2018 itibarıyla Microsoft Azure HDInsight sürüm 3.3, Windows'da HDInsight'ın son sürümüdür. Windows 3.3 veya önceki sürümlerde HDInsight kümeniz varsa, Linux üzerinde HDInsight'a (HDInsight sürüm 3.5 veya üzeri) geçmeniz gerekir. HDInsight'ın kullanımdan kaldırılacak sürümleri hakkında daha fazla bilgi için lütfen Kullanımdan kaldırılacak sürümler bölümüne bakın. Machine Learning Studio (klasik), belirli senaryolarda Linux üzerinde HDInsight'ı destekleyecektir.
Linux üzerinde HDInsight desteği
Machine Learning Studio (klasik), aşağıdaki senaryolarda Linux üzerinde HDInsight desteğine sahiptir:
- Hadoop 2.7.3 (HDI 3.6) Blobu varsayılan olarak, ADLS ikincil
- Varsayılan olarak Spark 2.1.0 (HDI 3.6) Blobu, ADLS ikincil
- Varsayılan olarak Spark 2.2.0 (HDI 3.6) Blobu, ADLS ikincil
- Spark 2.3.0 (HDI 3.6) Blobu varsayılan olarak, ADLS ikincil
Bilinen Sorunlar
Linux üzerinde HDInsight ile Hive Sorguları için Verileri İçeri Aktarma modülünü kullanmayla ilgili bilinen birkaç sorun vardır:
- Enterprise Güvenlik Paketi desteklenmiyor
- /tmp/hive yazılamaz
Hive sorgularından verileri içeri aktarma
Sihirbazı kullanma
Modülde bir depolama seçeneği belirlemenize, mevcut abonelikler ve hesaplar arasından seçim yapmanıza ve tüm seçenekleri hızlı bir şekilde yapılandırmanıza yardımcı olacak yeni bir sihirbaz bulunur.
Denemenize Verileri İçeri Aktarma modülünü ekleyin. Modülü Studio'da (klasik), Veri Girişi ve Çıktı kategorisinde bulabilirsiniz.
Veri İçeri Aktarma Sihirbazı'nı Başlat'a tıklayın ve istemleri izleyin.
Yapılandırma tamamlandığında, verileri denemenize kopyalamak için modüle sağ tıklayın ve Seçili Çalıştır'ı seçin.
Var olan bir veri bağlantısını düzenlemeniz gerekiyorsa sihirbaz, sıfırdan yeniden başlamanız gerekmemesi için önceki tüm yapılandırma ayrıntılarını yükler
İçeri aktarma özelliklerini el ile ayarlama
Aşağıdaki adımlarda içeri aktarma kaynağının el ile nasıl yapılandırıldığı açıklanmaktadır.
Denemenize Verileri İçeri Aktarma modülünü ekleyin. Modülü Studio'da (klasik), Veri Girişi ve Çıktı kategorisinde bulabilirsiniz.
Veri kaynağı için Hive Sorgusu'yu seçin.
Hive veritabanı sorgusu metin kutusunda, HiveQL kullanarak okumak istediğiniz verileri belirtin.
HiveQL, verileri Machine Learning Studio'ya (klasik) eklemeden önce verileri toplamak ve veri filtreleme gerçekleştirmek için de kullanılabilecek SQL benzeri bir sorgu dilidir. Ancak Hive sorgusunun verileri tablo biçiminde döndürmesi gerekir.
Örneğin, bu deyim geçerli bir Hive sorgusudur:
SELECT <column list> FROM table WHERE <expression>;
HCatalog sunucusu URI metin kutusuna tıklayın ve kümenizin tam adını yazın.
Örneğin, mycluster001 adlı bir küme oluşturduysanız şu biçimi kullanın:
https://mycluster001.azurehdinsight.net
Hadoop kullanıcı hesabı adı metin kutusuna tıklayın ve kümeyi sağladığınızda kullandığınız Hadoop kullanıcı hesabını yapıştırın.
Hadoop kullanıcı hesabı parolası metin kutusuna tıklayın ve kümeyi sağlarken kullandığınız kimlik bilgilerini yazın.
Hadoop için küme adlandırma ve kimlik doğrulaması hakkında daha fazla bilgi için bkz. HDInsight'ta Hadoop kümeleri sağlama.
Çıktı verilerinin konumu için verilerin nerede depolandığını gösteren seçeneği belirleyin. Veriler Hadoop dağıtılmış dosya sisteminde (HDFS) yer alırsa, yeni girdiğiniz hesap ve parolayla erişilebilir olmalıdır. Veriler Azure'daysa depolama hesabının konumunu ve kimlik bilgilerini sağlayın.
HDFS: HDFS sunucu URI'sini yazın veya yapıştırın. Önek olmadan HDInsight küme adını kullandığınızdan
HTTPS://
emin olun.Azure: Azure depolama hesabı adı için Azure hesabının adını yazın. Örneğin, depolama hesabının tam URL'si ise
https://myshared.blob.core.windows.net
yazınmyshared
.Azure depolama anahtarı: Depolama hesabına erişmek için sağlanan anahtarı kopyalayıp yapıştırın.
Azure kapsayıcı adı için küme için varsayılan kapsayıcıyı belirtin. Hangi kapsayıcının kullanılacağını belirleme konusunda yardım için İpuçları bölümüne bakın.
Verilerin çok fazla değişmesini beklemiyorsanız veya denemeyi her çalıştırdığınızda verilerin yeniden yüklenmesini önlemek istiyorsanız Önbelleğe alınmış sonuçları kullan seçeneklerini belirleyin.
Bu seçildiğinde, modül parametrelerinde başka bir değişiklik yoksa, deneme modül ilk kez çalıştırıldığında verileri yükler ve ardından veri kümesinin önbelleğe alınmış bir sürümünü kullanır.
Deneme veri kümesinin her yinelemesine veri kümesini yeniden yüklemek istiyorsanız Önbelleğe alınmış sonuçları kullan seçeneğinin seçimini kaldırın. Verileri İçeri Aktar parametrelerinde değişiklikler olduğunda da sonuçlar yeniden yüklenir.
Denemeyi çalıştırın.
Sonuçlar
İşlem tamamlandığında çıkış veri kümesine tıklayın ve verilerin başarıyla içeri aktarılıp aktarılamadığını görmek için Görselleştir'i seçin.
Hata alırsanız eksik değerler, ek boş sütunlar veya uyumsuz veri türleri için verilerinizi denetleyin.
Örnekler
BIR HDInsight kümesini yapılandırma ve makine öğrenmesi denemelerinde Hive sorgularını kullanma örnekleri için şu kaynaklara bakın:
Bu makalede, Hive: Advanced Analytics Process and Technology in Action: USING HDInsight Hadoop kümelerini kullanarak küme oluşturma, verileri karşıya yükleme ve Studio'dan (klasik) verileri çağırma hakkında ayrıntılı bir kılavuz sağlanır.
MVP Vesa Tikkanen'in bu blogu, Linux'ta bir HD kümesinden çok büyük dosyaları (dağıtılmış sorgular) okurken karşılaşılan bazı sorunları ve geçici çözümleri açıklar: Azure'dan Linux HDInsight Hive okuma ML
Hive birçok veri temizleme ve ön işleme türü için üstün özellikler sunsa da, içeri aktarma işleminden sonra verileri modellemeye hazırlamak için bu araçları yararlı bulabilirsiniz:
Sütun adlarını değiştirmek, hangi sütunların etiket ve özellik içerdiğini belirtmek ve sütun veri türünü belirtmek için Meta Verileri Düzenle'yi ve diğer modülleri kullanın. Örnekler için bkz. Veri Kümesi İşleme.
Python kullanarak metin verilerini işleme sonrası, noktalama işaretlerini kaldırmak, konuşma bölümlerini bayrakla işaretlemek ve çok daha fazlasını yapmak. Örnekler için bkz. Metin Sınıflandırması.
Farklı kaynaklardan gelen birden çok tabloyu tek bir eğitim verileri tablosunda birleştirin. Örnekler için bkz. Tahmine dayalı bakım.
Teknik notlar
Bu bölüm uygulama ayrıntılarını, ipuçlarını ve sık sorulan soruların yanıtlarını içerir.
Varsayılan kapsayıcıyı belirleme
Kümenizi tüm varsayılanları kabul ederek oluşturduysanız, kümenin oluşturulduğu anda kümeyle aynı ada sahip bir kapsayıcı oluşturulur. Bu kapsayıcı, küme için varsayılan kapsayıcıdır. Ancak, küme oluştururken ÖZEL CREATE seçeneğini belirlerseniz, varsayılan kapsayıcıyı seçmek için size iki seçenek sunulur. İlk seçenek mevcut bir kapsayıcıyı seçmektir. Bunu yaptığınızda, bu kapsayıcı küme için varsayılan depolama kapsayıcısı olur. İkinci seçenek , Varsayılan kapsayıcı oluştur seçeneğidir. Bu seçeneği kullandığınızda, varsayılan kapsayıcı kümeyle aynı ada sahiptir.
Hive sorgusundan Python betiklerini çağırma
Kayıtları işlemek için Python UDF'lerini çağıran Hive sorgularını çalıştırmak için Verileri İçeri Aktar modülünü kullanabilirsiniz.
Daha fazla bilgi için bkz. HDInsight'ta Hive ve Pig ile Python kullanma.
Verileri önceden işlemek için Hive kullanırken bellek yetersiz kalma sorunlarını önleme
Büyük veri kaynaklarından kayıtları ayıklamak için Hive sorguları kullanılırken, bazen Hadoop kümesinin varsayılan yapılandırması MapReduce işini çalıştırmayı desteklemek için çok sınırlıdır. Örneğin, HDInsight için Bu Sürüm Notları'nda varsayılan ayarlar dört düğümlü bir küme olarak tanımlanır.
MapReduce işinin gereksinimleri kullanılabilir kapasiteyi aşarsa Hive sorguları, Verileri İçeri Aktarma işleminin başarısız olmasına neden olan bellek yetersiz hata iletisi döndürebilir. Bu durumda, Burada gösterildiği gibi Verileri İçeri Aktarma modülünde Hive sorguları için varsayılan bellek ayırmayı değiştirebilirsiniz:
Bu örnekte, ve set mapreduce.reduce.memory.mb
komutları set mapreduce.map.memory.mb
kümede izin verilen en yüksek bellek miktarını artırmak için kullanılır.
Sık sorulan sorular
Aynı verilerin gereksiz yere yeniden yüklenmesini nasıl önleyebilirim?
Kaynak verileriniz değişirse Verileri İçeri Aktar'ı yeniden çalıştırarak veri kümesini yenileyebilir ve yeni veriler ekleyebilirsiniz. Ancak, denemeyi her çalıştırdığınızda kaynaktan yeniden okumak istemiyorsanız Önbelleğe alınmış sonuçları kullan seçeneğini TRUE olarak belirleyin. Bu seçenek TRUE olarak ayarlandığında modül, denemenin daha önce aynı kaynak ve aynı giriş seçeneklerini kullanarak çalışıp çalışmadığını denetler ve önceki bir çalıştırma bulunursa, verileri kaynaktan yeniden yüklemek yerine önbellekteki veriler kullanılır.
Verileri kaynaktan okunurken filtreleyebilir miyim?
Verileri İçeri Aktarma modülü, veriler okunurken filtrelemeyi desteklemez.
Verileri Machine Learning Studio'da (klasik) okumadan önce filtrelemek için, verileri toplamak ve dönüştürmek için hive sorgusu veya MapReduce işi kullanın.
Machine Learning Studio'ya (klasik) yüklendikten sonra verileri filtrelemek için birden çok seçenek de vardır:
- Yalnızca istediğiniz verileri almak için özel bir R betiği kullanın.
- İstediğiniz verileri yalıtmak için Verileri Bölme modülünü göreli bir ifadeyle veya normal bir ifadeyle kullanın ve veri kümesi olarak kaydedin.
Not
İhtiyacınız olandan daha fazla veri yüklediğinizi fark ederseniz, yeni bir veri kümesini okuyup eski ve daha büyük verilerle aynı adla kaydederek önbelleğe alınan veri kümesinin üzerine yazabilirsiniz.
Modül parametreleri
Name | Aralık | Tür | Varsayılan | Description |
---|---|---|---|---|
Veri kaynağı | Liste | Veri kaynağı veya havuz | Azure Blob Depolama | Veri kaynağı HTTP, FTP, anonim HTTPS veya FTPS, Azure BLOB depolamadaki bir dosya, Azure tablosu, Azure SQL Veritabanı, şirket içi SQL Server veritabanı, Hive tablosu veya OData uç noktası olabilir. |
Hive veritabanı sorgusu | herhangi biri | Streamreader | HQL sorgusu | |
HCatalog sunucusu URI'sı | herhangi biri | Dize | Templeton uç noktası | |
Hadoop kullanıcı hesabı adı | herhangi biri | Dize | Hadoop HDFS/HDInsight kullanıcı adı | |
Hadoop kullanıcı hesabı parolası | herhangi biri | Securestring | Hadoop HDFS/HDInsight parolası | |
Çıkış verilerinin konumu | herhangi biri | DataLocation | HDFS | outputDir için HDFS veya Azure belirtme |
HDFS sunucu URI'si | herhangi biri | Dize | HDFS rest uç noktası | |
Azure depolama hesabı adı | herhangi biri | Dize | Azure depolama hesabı adı | |
Azure depolama anahtarı | herhangi biri | Securestring | Azure depolama anahtarı | |
Azure kapsayıcı adı | herhangi biri | Dize | Azure kapsayıcı adı | |
Veri içerik türü | Liste (alt küme) | Url İçeriği | OData | Veri biçimi türü |
Kaynak URL'si | herhangi biri | Dize | Power Query veri kaynağının URL'si | |
Önbelleğe alınmış sonuçları kullanma | DOĞRU/YANLIŞ | Boole | FALSE | açıklama |
Çıkışlar
Ad | Tür | Description |
---|---|---|
Sonuç veri kümesi | Veri Tablosu | İndirilen verileri içeren veri kümesi |
Özel durumlar
Özel durum | Description |
---|---|
Hata 0027 | İki nesnenin aynı boyutta olması gerektiğinde bir özel durum oluşur, ancak bunlar aynı değildir. |
Hata 0003 | Bir veya daha fazla giriş null veya boş olduğunda bir özel durum oluşur. |
Hata 0029 | Geçersiz bir URI geçirildiğinde bir özel durum oluşur. |
Hata 0030 | bir dosyayı indirmek mümkün olmadığında içinde bir özel durum oluşur. |
Hata 0002 | Belirtilen türden hedef yöntemin gerektirdiği türe bir veya daha fazla parametre ayrıştırılamadıysa veya dönüştürülemiyorsa bir özel durum oluşur. |
Hata 0009 | Azure depolama hesabı adı veya kapsayıcı adı yanlış belirtilirse bir özel durum oluşur. |
Hata 0048 | Bir dosyanın açılması mümkün olmadığında bir özel durum oluşur. |
Hata 0015 | Veritabanı bağlantısı başarısız olursa bir özel durum oluşur. |
Hata 0046 | Belirtilen yolda dizin oluşturmak mümkün olmadığında bir özel durum oluşur. |
Hata 0049 | Bir dosyayı ayrıştırmak mümkün olmadığında bir özel durum oluşur. |
Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning Hata kodları.
API özel durumlarının listesi için bkz. MACHINE LEARNING REST API Hata Kodları.
Ayrıca bkz.
Verileri İçeri Aktarma
Verileri Dışarı Aktar
HTTP aracılığıyla Web URL’sinden içeri aktarma
Azure SQL Veritabanı’ndan içeri aktarma
Azure Tablosundan içeri aktarma
Azure Blob Depolama'dan içeri aktarma
Veri Akışı Sağlayıcılarından İçeri Aktarma
Şirket İçi SQL Server Veritabanından İçeri Aktarma