Azure Cosmos DB içeri aktar

Bu makalede, bir makine öğrenimi denemesinin kullanımı için Azure Cosmos DB verileri içeri aktarmak üzere Azure Machine Learning Studio (klasik) ' de verileri Içeri aktarma modülünün nasıl kullanılacağı açıklanır.

Not

Uygulama hedefi: Machine Learning Studio (klasik)

Bu içerik yalnızca Studio (klasik) ile ilgilidir. Benzer sürükle ve bırak modülleri Azure Machine Learning tasarımcısına eklenmiştir. Bu makalede iki sürümü karşılaştırandaha fazla bilgi edinin.

Azure Cosmos DB , esnek bir veri modeli kullanarak NoSQL veritabanı depolamayı destekler. Bu veri deposunda makine öğrenimi için SQL API 'Lerinin kullanılmasına ilişkin avantajlar, hızlı ve öngörülebilir performans, otomatik ölçeklendirme, genel dağıtım ve zengin sorgu özellikleri içerir.

Azure SQL veritabanı ile birlikte bu seçenek, gelen veri kümelerini dinamik olarak filtrelemenizi sağlar.

Nasıl çalıştığını öğrenin: Azure Cosmos DB hakkında bilgi edinin

  • Azure Cosmos DB verileri kullanarak Machine Learning 'i kullanmaya başlamak için ilgili belgelerden oluşan bir koleksiyonu içeren mevcut bir Azure Cosmos DB hesabına erişiminizin olması gerekir.

Not

Azure Machine Learning Studio (klasik) içindeki kullanıcı arabirimi hala DocumentDB adını birçok yerde kullanır. Bu nedenle, API Azure Cosmos DB ' ye eklenmiş olsa bile DocumentDB 'ye yönelik başvuruları görmeye devam edebilirsiniz.

Azure Cosmos DB ile Içeri aktarma verileri nasıl kullanılır

Şemanın beklenen şekilde olduğundan emin olmak için verilerinizi içeri aktarmadan önce profilinizi kesinlikle öneririz. İçeri aktarma işlemi, şemayı belirleyebilmek için bazı baş satırları tarar, ancak sonraki satırlarda ek sütunlar veya hatalara neden olan veriler bulunabilir.

Sihirbazı kullanarak verileri içeri aktarma

Modül, bir depolama seçeneği seçmenize, 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 sunar.

  1. Veri alma modülünü denemenize ekleyin. Modülü, veri girişi ve çıkışı altında bulabilirsiniz.

  2. Veri alma Sihirbazı 'Nı Başlat ' a tıklayın ve istemleri izleyin.

  3. Yapılandırma tamamlandığında, verileri denemenize gerçekten kopyalamak için modüle sağ tıklayın ve Seçili Çalıştır'ı seçin.

İpucu

Mevcut bir veri bağlantısını düzenlemeniz gerekirse, sihirbaz önceki tüm yapılandırma ayrıntılarını yükler. Sıfırdan yeniden başlamaya gerek yok.

Verileri İçeri Aktarma modülünde özellikleri el ile ayarlama

Aşağıdaki adımlarda, içeri aktarma kaynağının el ile nasıl yapılandırılması açık bir şekilde anlatılacaktır.

  1. Denemenize Veri İçeri Aktarma modülünü ekleyin. Bu modülü Veri Girişi ve Çıktı kategorisinde bulabilirsiniz.

  2. Veri kaynağı için Azure DocumentDB'yi seçin.

    Belge veritabanı için bağlantı bilgileri sağlamanız gerekir.

    İpucu

    Machine Learning Studio'daki (klasik) seçeneğin adını daha sonraki bir tarihte değiştirebilirsiniz. İçeri aktarma işlevi ad değişikliğini etkilenmedi.

  3. Nokta URL'si için Azure Portal'da Anahtarlar'a tıklayın ve sayfanın üst kısmında yer alan URI alanının içeriğini kopyalayın.

  4. Veritabanı Kimliği için, kullanmak üzere veritabanının adını yapıştırın.

    Azure Portal'dan veritabanı adını almak için Belge Gezgini'ne tıklayın. Bu bölmede veritabanlarının ve koleksiyonların listesini görüntüleyebilirsiniz.

  5. DocumentDB Anahtarı için hesap için bir erişim anahtarı yapıştırın.

    Anahtarları bulmak için Anahtarlar 'a tıklayın ve ardından PRIMARY KEY veya SECONDARY KEY alanlarının içeriğini kopyalayın.

  6. Koleksiyon Kimliği için, belirtilen CosmosDB veritabanında gösterildiği gibi koleksiyonun adını yazın.

  7. SQL sorgusu ve SQL sorgu parametreleri seçeneklerini kullanarak verilerde bir SQL sorgusu ve filtre koşulu tanımlayın.

    SQL sorgusu için, koleksiyondan alınan verileri tanımlayan bir sorgu yazın. CosmosDB sorgularını önceden oluşturmak ve test etmek için sorgu Gezginini kullanmanızı öneririz.

    SQL sorgu parametreleri IÇIN, JSON biçiminde döndürülen verileri dinamik olarak filtrelemek için kullanılabilecek bir ifade sağlayın. Genellikle denemeyi bir Web hizmetinin parçası olarak çalıştırırken parametre değerinin gerçek değerini sağlarsınız.

    Bir parametre kullanırsanız, filtre değişkeni adını SQL sorgusu metin kutusunda belirtilen WHERE yan tümcesinin bir parçası olarak tanımlamanız gerekir.

    Filtre ifadesi belirtmezseniz, varsayılan olarak değer "" olarak ayarlanır {} ve tüm kayıtlar döndürülür.

    Örnekler, bilinen sorunlar ve CosmosDB üzerinde SQL sorguları hakkında ek öneriler için Teknik notlar bölümüne bakın.

  8. Varolan sonuçları yeniden kullanmak istiyorsanız, önbelleğe alınmış sonuçları kullan seçeneğini belirleyin.

    Bu seçeneğin işaretini kaldırırsanız, verilerin aynı olup olmamasından bağımsız olarak, her denemede veri okuma işlemi her çalıştırıldığında kaynaktan okunmaz.

    Azure Machine Learning, önbelleğe alınmış verileri CosmosDB hesabınızdaki verilerle karşılaştıramaz . Bu nedenle Azure Machine Learning Artımlı güncelleştirmeleri gerçekleştirmenin bir yolu yoktur.

    Yalnızca veriler değiştiğinde yeniden içeri aktarmak istiyorsanız, bu mantığı Azure Data Factory gibi başka bir uygulamada tanımlamanız gerekir. Daha fazla bilgi için bkz. Azure Data Factory kullanarak Azure Cosmos DB veri taşıma.

  9. Denemeyi çalıştırın veya yalnızca veri al modülünü seçin ve Seçileni Çalıştır' a tıklayın.

Sonuçlar

Modülünü veya denemeyi çalıştırdıktan sonra, sonuçları tablolu biçimde görselleştirmek için modülün çıktısına sağ tıklayabilirsiniz.

Bu verilerin bir anlık görüntüsünü Azure Machine Learning çalışma alanınızda veri kümesi olarak yakalamak için, modülün çıktısına sağ tıklayıp veri kümesi olarak kaydet' i seçebilirsiniz. Ancak, bunun yapılması yalnızca içeri aktarma sırasında mevcut olan verileri yakalar. Verilerin sık olarak değiştirilmesi bekleniyorsa, verileri Içeri aktarma işlemini gerektiği şekilde yeniden çalıştırın.

Örnekler

Makine öğrenmesi için veri kaynağı olarak Azure Cosmos DB nasıl kullanabileceğiniz hakkında ayrıntılı bir kılavuz için bkz. Azure Yapay Zeka Galerisi.

Teknik notlar

Bu bölümde gelişmiş yapılandırma seçenekleri ve sık sorulan soruların yanıtları yer almaktadır.

Basit ve parametreli sorgu örnekleri

Yalnızca 10000 fit'in altında yükseltilen martlarda verileri kullanmak istediğinizi varsayalım.

Basit sorgu

Sql sorgusu metin kutusuna aşağıdaki sorguyu yapıştırın: Select * from volcanodb where volcanodb.Elevation < 10000

Bu durumda, filtre ifadesinin değeri " {} olarak ayarlanır ve tüm kayıtlar döndürülür.

Parametre tabanlı sorgu

Yalnızca belirli bir ülkeyle ilgili olarak elde etmek istediğiniz ülke değerini, çalışma zamanında sorguya geçirilen bir parametre olarak belirtebilirsiniz. Bunun için şu değişiklikler gerekir:

  1. SQL sorgusu metin kutusunda, SQL sorgusunun bir parçası olarak Country alana uygulanacak bir değişken tanımlayın:

    Select * from volcanodb where volcanodb.Country = @param1

  2. SQL sorgu parametreleri metin kutusunda parametre adını ve değerini JSON biçiminde belirtin, şöyle:

    {"@param1":"Turkey"}

Kaynaklar

Mevcut bir belge deponuz yoksa, çalışmaya başlamanız için bu makalelere bakın.

Veri geçişi ve sorgu söz dizimi yardımı

JSON veri deposuna sorgu örnekleri için sorgu bilgi Azure Cosmos DB indirin.

Azure Cosmos DB'a içerik Azure Cosmos DB öneririz. Verilerinizi doğrular, karşıya yükler ve dizinler. Araç MongoDB, Amazon DynamoDB, HBase, SQL Server veritabanları ve CSV dosyaları gibi birden çok kaynağı destekler.

Şema-daha seyrek sorgular kullanma

Veriler tutarlı ve öngörülebilir ise, gibi basit SQL benzeri sözdizimini kullanabilirsiniz SELECT * FROM <document collection> . Bu, döndürülecek öznitelikleri tam olarak adlandırmadığı için şemaya daha seyrek bir sorgu olarak adlandırılır. Böyle bir sorgu, tüm alanları ve belirtilen koleksiyondaki tüm satırları döndürür.

Ancak, bir şemayı belirtmeksizin, belgeler tutarsız şemalar içeriyorsa beklenmedik sonuçlara veya çalışma zamanı hatasına neden olabilir. Bunun nedeni, veri alma modülünün şemayı önceden belirlenmiş sayıda satıra göre (aşağıdaki gibi) çıkarmasını denemelerinde oluşur:

  1. Hiçbir öznitelik belirtilmediğinde modül CosmosDB veritabanındaki ilk satırı tarar.
  2. Modül öznitelikleri temel alarak sütun adları oluşturur ve sütun veri türlerinin örnek satırı temel alarak ne olması gerektiğini tahmin eder.
  3. Sonraki satırlar yeni veya farklı öznitelikler içeriyorsa, bir çalışma zamanı hatası oluşturulur.

Bu nedenle, CosmosDB veri deposundan döndürülecek öznitelikleri ve değerleri her zaman belirtmenizi öneririz. Örneğin, SELECT * söz dizimini kullanmak yerine sorgu tarafından alınan tüm öznitelikleri şöyle yazmanız önerilir:

SELECT MyTable.Gender, MyTable.Age, MyTable.Name FROM <document collection>

Modül parametreleri

Aşağıdaki tablo yalnızca Azure Cosmos DB seçeneği için geçerli olan veri alma modülünün parametrelerini içerir.

Name Aralık Tür Gerekli Varsayılan Description
Veri kaynağı list HTTP gerekli yok Veri kaynağı, Azure BLOB depolama, Azure tablosu, Azure SQL veritabanı, Hive tablosu, OData uç noktası veya Azure Cosmos dB 'de HTTP, FTP, anonim HTTPS veya FTPS olabilir.
Uç nokta URL 'SI herhangi biri string gerekli yok Azure Cosmos DB sunucusu için URI sağlama
Veritabanı Kimliği herhangi biri string gerekli yok Azure Cosmos DB veritabanının adını belirtin
DocumentDB anahtarı herhangi biri SecureString gerekli yok Azure Cosmos DB hesabı için geçerli bir API anahtarı sağlayın
Koleksiyon kimliği herhangi biri string gerekli yok Azure Cosmos DB veritabanındaki bir koleksiyonun adını girin
SQL Sorgusu herhangi biri string gerekli yok Veri depolamadan geri dönecek kayıtları belirten bir SQL Azure Cosmos DB sorgusu

Çıkışlar

Ad Tür Description
Sonuç veri kümesi Veri Tablosu İndirilen verileri olan veri kümesi

Özel durumlar

Özel durum Description
Hata 0003 Bir veya daha fazla giriş null veya boşsa özel durum oluşur.
Hata 0029 Geçersiz bir URI geçir olduğunda özel durum oluşur.
Hata 0002 Bir veya daha fazla parametre ayrıştırılana veya belirtilen türden hedef yöntemin gerekli türüne dönüştürülememesi bir özel durum oluşur.
Hata 0048 Bir dosyanın açılması mümkün değilken bir özel durum oluşur.
Hata 0049 Bir dosyayı ayrıştırmak mümkün değilken bir özel durum oluşur.

Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning kodları.

API özel durumlarının listesi için bkz. Machine Learning REST API Kodları.

Ayrıca bkz.

Verileri İçeri Aktarma
Verileri Dışarı Aktarma
HTTP aracılığıyla Web URL 'sinden içeri aktarma
Hive sorgusundan içeri aktar
Azure SQL veritabanından içeri aktar
Azure Blob depolamadan içeri aktarma
Veri akışı sağlayıcılarından al
Şirket Içi SQL Server veritabanından içeri aktar