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.

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:

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.

  1. Denemenize Verileri İçeri Aktarma modülünü ekleyin. Modülü Studio'da (klasik), Veri Girişi ve Çıktı kategorisinde bulabilirsiniz.

  2. Veri İçeri Aktarma Sihirbazı'nı Başlat'a tıklayın ve istemleri izleyin.

  3. 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.

  1. Denemenize Verileri İçeri Aktarma modülünü ekleyin. Modülü Studio'da (klasik), Veri Girişi ve Çıktı kategorisinde bulabilirsiniz.

  2. Veri kaynağı için Hive Sorgusu'yu seçin.

  3. 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>;

  4. 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

  5. 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.

  6. 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.

  7. Çı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.netyazın myshared.

    • 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.

  8. 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.

  9. 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:

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:

Increase memory to maximum allowed on cluster

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