Udostępnij za pośrednictwem


Importowanie z usługi Azure Cosmos DB

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

W tym artykule opisano sposób używania modułu Import danych w programie Machine Learning Studio (wersja klasyczna) do importowania danych z usługi Azure Cosmos DB do użycia w eksperymencie uczenia maszynowego.

Uwaga

Dotyczy: Machine Learning Studio (wersja klasyczna)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Usługa Azure Cosmos DB obsługuje magazyn bazy danych NoSQL przy użyciu elastycznego modelu danych. Zalety korzystania z interfejsów API SQL w tym magazynie danych do uczenia maszynowego obejmują szybką i przewidywalną wydajność, automatyczne skalowanie, globalną dystrybucję i rozbudowane możliwości zapytań.

Razem z Azure SQL Database ta opcja umożliwia dynamiczne filtrowanie przychodzących zestawów danych.

Dowiedz się, jak to działa: Informacje o usłudze Azure Cosmos DB

  • Aby rozpocząć uczenie maszynowe przy użyciu danych z usługi Azure Cosmos DB, musisz mieć dostęp do istniejącego konta usługi Azure Cosmos DB zawierającego kolekcję powiązanych dokumentów.

Uwaga

Interfejs użytkownika w programie Machine Learning Studio (klasyczny) nadal używa nazwy DocumentDB w wielu miejscach. W związku z tym możesz nadal widzieć odwołania do usługi DocumentDB, nawet jeśli interfejs API został włączony do usługi Azure Cosmos DB.

Jak używać importowania danych za pomocą usługi Azure Cosmos DB

Zdecydowanie zalecamy profilowanie danych przed zaimportowaniem, aby upewnić się, że schemat jest zgodnie z oczekiwaniami. Proces importowania skanuje kilka wierszy głowy w celu określenia schematu, ale późniejsze wiersze mogą zawierać dodatkowe kolumny lub dane, które powodują błędy.

Importowanie danych przy użyciu kreatora

Moduł zawiera nowy kreator ułatwiający wybór opcji magazynu, wybór spośród istniejących subskrypcji i kont oraz szybkie skonfigurowanie wszystkich opcji.

  1. Dodaj moduł Import Data (Importuj dane) do eksperymentu. Moduł można znaleźć w obszarze Dane wejściowe i wyjściowe.

  2. Kliknij przycisk Uruchom Kreatora importu danych i postępuj zgodnie z monitami.

  3. Po zakończeniu konfiguracji, aby rzeczywiście skopiować dane do eksperymentu, kliknij prawym przyciskiem myszy moduł i wybierz pozycję Uruchom wybrane.

Porada

Jeśli musisz edytować istniejące połączenie danych, kreator załaduje wszystkie szczegóły poprzedniej konfiguracji. Nie trzeba zaczynać od początku.

Ręczne ustawianie właściwości w module Importowanie danych

W poniższych krokach opisano sposób ręcznego konfigurowania źródła importu.

  1. Dodaj moduł Import Data (Importuj dane) do eksperymentu. Ten moduł można znaleźć w kategorii Dane wejściowe i Wyjściowe .

  2. W przypadku źródła danych wybierz pozycję Azure DocumentDB.

    Może być konieczne podanie informacji o połączeniu dla bazy danych dokumentów.

    Porada

    Poszukaj nazwy opcji w programie Machine Learning Studio (wersja klasyczna) do zmiany w późniejszym terminie. Zmiana nazwy nie miała wpływu na funkcjonalność importowania.

  3. W polu Adres URL punktu końcowego w witrynie Azure Portal kliknij pozycję Klucze i skopiuj zawartość pola URI w górnej części strony.

  4. W obszarze Identyfikator bazy danych wklej nazwę bazy danych do użycia.

    Aby uzyskać nazwę bazy danych z witryny Azure Portal, kliknij pozycję Eksplorator dokumentów. W tym okienku można wyświetlić listę baz danych i kolekcji.

  5. W obszarze Klucz bazy danych DocumentDB wklej klucz dostępu dla konta.

    Aby zlokalizować klucze, kliknij pozycję Klucze, a następnie skopiuj zawartość pól KLUCZ PODSTAWOWY lub KLUCZ POMOCNICZY .

  6. W przypadku identyfikatora kolekcji wpisz nazwę kolekcji, jak pokazano w określonej bazie danych CosmosDB.

  7. Zdefiniuj SQL i filtruj dane przy użyciu SQL zapytania i SQL parametrów zapytania.

    Na SQL wpisz zapytanie definiujące dane do pobrania z kolekcji. Zalecamy, aby wcześniej utworzyć i przetestować zapytania usługi CosmosDB za pomocą Eksploratora zapytań.

    Aby SQL zapytania, podaj wyrażenie w formacie JSON, które może służyć do dynamicznego filtrowania zwracanych danych. Zazwyczaj podczas uruchamiania eksperymentu w ramach usługi internetowej należy podać rzeczywistą wartość parametru.

    Jeśli używasz parametru , musisz zdefiniować nazwę zmiennej filtru jako część klauzuli WHERE określonej w SQL tekstowym zapytania.

    Jeśli nie określisz wyrażenia filtru, domyślnie wartość zostanie ustawiona na "{}", a wszystkie rekordy zostaną zwrócone.

    Zapoznaj się z sekcją Uwagi techniczne, aby uzyskać przykłady, znane problemy i dodatkowe porady dotyczące SQL zapytań w bazie danych CosmosDB.

  8. Wybierz opcję Użyj buforowanych wyników , jeśli chcesz ponownie użyć istniejących wyników.

    Usunięcie zaznaczenia tej opcji spowoduje, że dane będą odczytywane ze źródła przy każdym uruchomieniu eksperymentu, niezależnie od tego, czy dane są takie same, czy nie.

    Machine Learning nie można porównać buforowanych danych z danymi na koncie usługi CosmosDB. W związku z tym nie ma możliwości przeprowadzania aktualizacji przyrostowych z Machine Learning.

    Jeśli chcesz ponownie zaimportować tylko wtedy, gdy dane się zmienią, musisz zdefiniować tę logikę w innej aplikacji, na przykład Azure Data Factory. Aby uzyskać więcej informacji, zobacz Przenoszenie danych do i z usługi Azure Cosmos DB przy użyciu Azure Data Factory.

  9. Uruchom eksperyment lub wybierz tylko moduł Importuj dane i kliknij pozycję Uruchom wybraną.

Wyniki

Po uruchomieniu modułu lub eksperymentu możesz kliknąć prawym przyciskiem myszy dane wyjściowe modułu, aby zwizualizować wyniki w formacie tabelarykowym.

Aby przechwycić migawkę tych danych w twoim Machine Learning roboczym jako zestaw danych, możesz kliknąć prawym przyciskiem myszy dane wyjściowe modułu i wybrać polecenie Zapisz jako zestaw danych. Jednak w ten sposób są przechwytywane tylko dane dostępne w czasie importowania. Jeśli dane powinny często się zmieniać, w razie potrzeby należy ponownie uruchomić importowanie danych.

Przykłady

Aby uzyskać szczegółowy przewodnik na temat używania usługi Azure Cosmos DB jako źródła danych do uczenia maszynowego, zobacz Azure AI Gallery.

Uwagi techniczne

Ta sekcja zawiera zaawansowane opcje konfiguracji i odpowiedzi na często zadawane pytania.

Przykłady prostych i sparametryzowane zapytania

Załóżmy, że chcesz używać tylko danych na stopach z wysokością poniżej 10000 metrów.

Proste zapytanie

Wklej następujące zapytanie w polu tekstowym SQL zapytania:Select * from volcanodb where volcanodb.Elevation < 10000

W takim przypadku wartość wyrażenia filtru jest ustawiona na "{}", a wszystkie rekordy są zwracane.

Zapytanie sparametryzowane

Aby uzyskać tylko dane dotyczące konkretnego kraju, możesz określić wartość kraju jako parametr przekazywany do zapytania w czasie wykonywania. Wymaga to tych zmian:

  1. W polu SQL tekstowym zapytania zdefiniuj Country zmienną do zastosowania do pola jako część SQL zapytania:

    Select * from volcanodb where volcanodb.Country = @param1

  2. W polu tekstowym SQL parametry zapytania określ nazwę parametru i jego wartość w formacie JSON w taki sposób:

    {"@param1":"Turkey"}

Zasoby

Jeśli nie masz istniejącego magazynu dokumentów, zapoznaj się z tymi artykułami, aby rozpocząć pracę.

Migracja danych i pomoc dotyczące składni zapytań

Przykłady zapytań w magazynie danych JSON można pobrać ze ściągawki dotyczącej zapytań usługi Azure Cosmos DB.

Jeśli musisz przekazać zawartość do usługi Azure Cosmos DB, zalecamy użycie narzędzia do migracji usługi Azure Cosmos DB. Weryfikuje, przesyła i indeksuje dane. Narzędzie obsługuje wiele źródeł, w tym MongoDB, Amazon DynamoDB, HBase, SQL Server baz danych i pliki CSV.

Używanie zapytań bez schematu

Jeśli dane są spójne i przewidywalne, można użyć prostej składni SQL podobnej do składni, takiej jak SELECT * FROM <document collection>. Jest to nazywane zapytaniem bez schematu , ponieważ nie nadaliśmy dokładnych atrybutów do zwrócenia. Takie zapytanie zwróci wszystkie pola i wszystkie wiersze z określonej kolekcji.

Jednak nieo określenie schematu może prowadzić do nieoczekiwanych wyników lub błędu w czasie działania, jeśli dokumenty mają niespójne schematy. Wynika to z tego, że moduł Import danych próbuje wywnioskować schemat na podstawie wstępnie określonej liczby wierszy w następujący sposób:

  1. Jeśli nie określono żadnych atrybutów, moduł skanuje pierwszy wiersz w bazie danych CosmosDB.
  2. Moduł tworzy nazwy kolumn na podstawie atrybutów i zgaduje, jakie typy danych kolumn powinny być oparte na przykładowym wierszu.
  3. Jeśli nowsze wiersze zawierają nowe lub różne atrybuty, generowany jest błąd czasu uruchamiania.

Dlatego zalecamy, aby zawsze określać atrybuty i wartości, które mają być zwracane z magazynu danych usługi CosmosDB. Na przykład zamiast używać składni SELECT * , zalecamy nadaj wszystkim atrybutom pobranym przez zapytanie nazwę w ten sposób:

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

Parametry modułu

W poniższej tabeli przedstawiono tylko te parametry modułu Importuj dane, które mają zastosowanie do opcji Azure Cosmos DB.

Nazwa Zakres Typ Wymagane Domyślny Opis
Źródło danych list HTTP wymagane brak Źródłem danych może być protokół HTTP, FTP, anonimowy protokół HTTPS lub FTPS, plik w usłudze Azure BLOB Storage, tabela platformy Azure, tabela Azure SQL Database, tabela programu Hive, punkt końcowy OData lub usługa Azure Cosmos dB.
Adres URL punktu końcowego dowolny ciąg wymagane brak Podaj URI serwera usługi Azure Cosmos DB
Identyfikator bazy danych dowolny ciąg wymagane brak Podaj nazwę bazy danych usługi Azure Cosmos DB
Klucz bazy danych DocumentDB dowolny Securestring wymagane brak Podaj prawidłowy klucz interfejsu API dla konta usługi Azure Cosmos DB
Identyfikator kolekcji dowolny ciąg wymagane brak Podaj nazwę kolekcji w bazie danych usługi Azure Cosmos DB
SQL zapytania dowolny ciąg wymagane brak Zapytanie SQL rekordów do zwrócenia z magazynu danych usługi Azure Cosmos DB

Dane wyjściowe

Nazwa Typ Opis
Zestaw danych wyników Tabela danych Zestaw danych z pobranymi danymi

Wyjątki

Wyjątek Opis
Błąd 0003 Wyjątek występuje, jeśli co najmniej jeden element wejściowy ma wartość null lub jest pusty.
Błąd 0029 Wyjątek występuje, gdy zostanie przekazany nieprawidłowy identyfikator URI.
Błąd 0002 Wyjątek występuje, jeśli co najmniej jeden parametr nie może być analizowany lub konwertowany z określonego typu na typ wymagany przez metodę docelową.
Błąd 0048 Wyjątek występuje, gdy nie jest możliwe otwarcie pliku.
Błąd 0049 Wyjątek występuje, gdy nie jest możliwe analizowanie pliku.

Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kody błędów.

Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).

Zobacz też

Importowanie danych
Eksportowanie danych
Importowanie z internetowego adresu URL za pośrednictwem protokołu HTTP
Importowanie z zapytania Hive
Importowanie z usługi Azure SQL Database
Importowanie z Azure Blob Storage
Importowanie od dostawców źródła danych
Importowanie z lokalnej bazy SQL Server Database