Sdílet prostřednictvím


Import z Azure Cosmos DB

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Tento článek popisuje, jak pomocí modulu Import dat v Machine Learning Studiu (klasickém) importovat data z Azure Cosmos DB pro použití v experimentu strojového učení.

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Azure Cosmos DB podporuje databázové úložiště NoSQL s využitím flexibilního datového modelu. Mezi výhody použití rozhraní SQL API v tomto datovém úložiště pro strojové učení patří rychlý a předvídatelný výkon, automatické škálování, globální distribuce a bohaté možnosti dotazování.

Společně s Azure SQL Database umožňuje tato možnost dynamicky filtrovat příchozí datové sady.

Přečtěte si, jak to funguje: Další informace o Azure Cosmos DB

  • Pokud chcete začít používat strojové učení s využitím dat z Azure Cosmos DB, musíte mít přístup k existujícímu účtu Azure Cosmos DB obsahujícímu kolekci souvisejících dokumentů.

Poznámka

Uživatelské rozhraní v Machine Learning Studio (Classic) stále používá název DocumentDB na mnoha místech. Proto můžete dál vidět odkazy na DocumentDB, i když bylo rozhraní API začleněno do Azure Cosmos DB.

Jak používat import dat s Azure Cosmos DB

Důrazně doporučujeme profilovat data před importem, abyste měli jistotu, že schéma je podle očekávání. Proces importu prohledává několik hlavního řádku, aby určil schéma, ale pozdější řádky mohou obsahovat další sloupce nebo data, která způsobují chyby.

Import dat pomocí průvodce

Modul obsahuje nového průvodce, který vám pomůže vybrat možnost úložiště, vybrat si z existujících předplatných a účtů a rychle nakonfigurovat všechny možnosti.

  1. Přidejte do experimentu modul Import dat. Modul najdete v části Datový vstup a výstup.

  2. Klikněte na Spustit Průvodce importem dat a postupujte podle pokynů.

  3. Po dokončení konfigurace zkopírujte data do experimentu tak, že kliknete pravým tlačítkem na modul a vyberete Spustit vybrané.

Tip

Pokud potřebujete upravit existující datové připojení, průvodce načte všechny předchozí podrobnosti o konfiguraci. Nemusíte znovu začínát od začátku.

Ruční nastavení vlastností v modulu Import dat

Následující kroky popisují ruční konfiguraci zdroje importu.

  1. Přidejte do experimentu modul Import dat. Tento modul najdete v kategorii Vstup a výstup dat.

  2. Jako Zdroj dat vyberte Azure DocumentDB.

    Možná budete muset zadat informace o připojení k databázi dokumentů.

    Tip

    Vyhledejte název možnosti v aplikaci Machine Learning Studio (classic), která se má později změnit. Změna názvu neovlivňuje funkci importu.

  3. V části Adresa URL koncového bodu na webu Azure Portal klikněte na Klíče a zkopírujte obsah pole IDENTIFIKÁTOR URI v horní části stránky.

  4. Jako ID databáze vložte název databáze, která se má použít.

    Pokud chcete získat název databáze z webu Azure Portal, klikněte na Průzkumník dokumentů. V tomto podokně můžete zobrazit seznam databází a kolekcí.

  5. Jako Klíč DocumentDB vložte přístupový klíč pro účet.

    Pokud chcete najít klíče, klikněte na Klíče a zkopírujte obsah polí PRIMÁRNÍ KLÍČ nebo SEKUNDÁRNÍ KLÍČ.

  6. Jako ID kolekce zadejte název kolekce, jak je znázorněno v zadané databázi CosmosDB.

  7. Definujte SQL dotazu a filtru dat pomocí parametrů dotazu SQL dotazu a SQL dotazu.

    Pro SQL dotazu zadejte dotaz, který definuje data, která se mají načíst z kolekce. Doporučujeme použít Průzkumníka dotazů k vytvoření a otestování dotazů CosmosDB předem.

    Pro SQL dotazu zadejte výraz ve formátu JSON, který se může použít k dynamickému filtrování vrácených dat. Při spuštění experimentu jako součásti webové služby obvykle zadáte skutečnou hodnotu parametru.

    Pokud použijete parametr , musíte definovat název proměnné filtru jako součást klauzule WHERE zadané v textovém poli SQL dotazu.

    Pokud nezadáte výraz filtru, ve výchozím nastavení se hodnota nastaví na "{}" a vrátí se všechny záznamy.

    Příklady, známé problémy a další rady k dotazům na SQL CosmosDB najdete v části Technické poznámky.

  8. Pokud chcete znovu použít existující výsledky , vyberte možnost Použít výsledky uložené v mezipaměti.

    Pokud výběr této možnosti zrušíte, data se při každém spuštění experimentu načtou ze zdroje bez ohledu na to, jestli jsou stejná.

    Machine Learning nemůžete porovnat data uložená v mezipaměti s daty ve vašem účtu služby Cosmos DB. Proto neexistuje žádný způsob, jak provádět přírůstkové aktualizace z Machine Learning.

    Pokud chcete znovu importovat pouze při změně dat, musíte definovat logiku v jiné aplikaci, například v Azure Data Factory. Další informace najdete v tématu Přesun dat do a z Azure Cosmos DB pomocí Azure Data Factory.

  9. Spusťte experiment nebo vyberte pouze modul Import dat a klikněte na Spustit vybrané.

Výsledky

Po spuštění modulu nebo experimentu můžete kliknout pravým tlačítkem na výstup modulu a vizualizovat výsledky v tabulkovém formátu.

Pokud chcete zachytit snímek těchto dat v pracovním prostoru Machine Learning jako datovou sadu, můžete kliknout pravým tlačítkem na výstup modulu a vybrat Uložit jako datovou sadu. Tím se však zachytí pouze data, která jsou k dispozici v době importu. Pokud se očekává, že se data budou často měnit, podle potřeby znovu spusťte Import dat.

Příklady

Podrobný návod, jak používat Azure Cosmos DB jako zdroj dat pro strojové učení, najdete v Azure AI Gallery.

Technické poznámky

Tato část obsahuje pokročilé možnosti konfigurace a odpovědi na nejčastější dotazy.

Příklady jednoduchých a parametrizovaných dotazů

Předpokládejme, že chcete používat pouze data na sopečech se zvýšením oprávnění pod 10 000 stop.

Jednoduchý dotaz

Do textového pole SQL dotazu vložte následující dotaz:Select * from volcanodb where volcanodb.Elevation < 10000

V tomto případě je hodnota výrazu filtru nastavená na "{}" a vrátí se všechny záznamy.

Parameterizovaný dotaz

Pokud chcete získat pouze sopka data související s konkrétní zemí, můžete zadat hodnotu země jako parametr předaný dotazu za běhu. To vyžaduje tyto změny:

  1. V SQL dotazu definujte proměnnou, která se na Country pole použije jako součást SQL dotazu:

    Select * from volcanodb where volcanodb.Country = @param1

  2. Do textového SQL dotazu zadejte název parametru a jeho hodnotu ve formátu JSON, například:

    {"@param1":"Turkey"}

Zdroje informací

Pokud ještě nemáte žádné úložiště dokumentů, můžete začít v těchto článcích.

Nápověda k migraci dat a syntaxi dotazů

Ukázky dotazů na úložiště dat JSON najdete v taháku k dotazům Azure Cosmos DB.

Pokud potřebujete nahrát obsah do Azure Cosmos DB, doporučujeme nástroj pro migraci azure Cosmos DB. Ověří, nahraje a indexuje vaše data. Nástroj podporuje více zdrojů, včetně MongoDB, Amazon DynamoDB, HBase, SQL Server databází a souborů CSV.

Použití dotazů bez schématu

Pokud jsou data konzistentní a předvídatelná, můžete použít přímočarou SQL jako je například SELECT * FROM <document collection>. Tento dotaz se nazývá dotaz bez schématu, protože jste nejmenováli přesné atributy, které se mají vrátit. Takový dotaz vrátí všechna pole a všechny řádky ze zadané kolekce.

Nicméně, pokud nespecifikuje schéma, může vést k neočekávaným výsledkům nebo chybě za běhu, pokud dokumenty mají nekonzistentní schémata. Je to proto, že se modul Import dat pokusí odvodit schéma na základě předem stanoveného počtu řádků následujícím způsobem:

  1. Pokud nejsou zadány žádné atributy, modul vyhledá první řádek v databázi CosmosDB.
  2. Modul vytvoří názvy sloupců založené na atributech a odhadne, co by mělo být datové typy sloupce založené na příkladu řádku.
  3. Pokud pozdější řádky obsahují nové nebo jiné atributy, vygeneruje se chyba za běhu.

Proto doporučujeme, abyste vždy určili atributy a hodnoty, které se mají vrátit z úložiště dat CosmosDB. Například namísto použití SELECT * syntaxe doporučujeme pojmenovat všechny atributy načtené dotazem, například:

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

Parametry modulu

následující tabulka obsahuje pouze parametry modulu Import dat , které platí pro možnost Azure Cosmos DB.

Name Rozsah Typ Vyžadováno Výchozí Description
Zdroj dat list HTTP vyžadováno žádné zdroj dat může být HTTP, FTP, anonymní HTTPS nebo FTPS, soubor ve službě azure BLOB storage, tabulka azure, Azure SQL Database, tabulka podregistru, koncový bod OData nebo Azure Cosmos dB.
Adresa URL koncového bodu Libovolný řetězec vyžadováno žádné zadejte identifikátor URI pro server Azure Cosmos DB.
ID databáze Libovolný řetězec vyžadováno žádné zadejte název databáze Azure Cosmos DB.
DocumentDB klíč Libovolný SecureString vyžadováno žádné zadejte platný klíč rozhraní API pro účet Azure Cosmos DB.
ID kolekce Libovolný řetězec vyžadováno žádné zadejte název kolekce v databázi Azure Cosmos DB.
SQL dotaz Libovolný řetězec vyžadováno žádné SQL dotaz určující záznamy, které se mají vrátit z úložiště dat Azure Cosmos DB

Výstupy

Název Typ Description
Datová sada výsledků Tabulka dat Datová sada se staženými daty

Výjimky

Výjimka Description
Chyba 0003 K výjimce dojde v případě, že jeden nebo více vstupů má hodnotu null nebo je prázdné.
Chyba 0029 K výjimce dojde, pokud je předán neplatný identifikátor URI.
Chyba 0,002 K výjimce dojde v případě, že jeden nebo více parametrů nelze analyzovat nebo převést ze zadaného typu na typ vyžadovaný cílovou metodou.
Chyba 0048 Pokud není možné otevřít soubor, dojde k výjimce.
Chyba 0049 Pokud není možné analyzovat soubor, dojde k výjimce.

seznam chyb, které jsou specifické pro moduly studia (classic), najdete v článku kódy chyb Machine Learning.

seznam výjimek rozhraní API najdete v tématu Machine Learning REST API chybové kódy.

Viz také

Import dat
Exportovat data
Import z webové adresy URL přes HTTP
Importovat z dotazu na podregistr
Import z Azure SQL Database
Importovat z Azure Blob Storage
Import z poskytovatelů datových kanálů
Import z místní databáze SQL Server