Importera från Azure Cosmos DB
Viktigt
Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.
Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.
- Se information om hur du flyttar maskininlärningsprojekt från ML Studio (klassisk) till Azure Machine Learning.
- Läs mer om Azure Machine Learning.
Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.
Den här artikeln beskriver hur du använder modulen Importera data i Machine Learning Studio (klassisk) för att importera data från Azure Cosmos DB för användning i ett maskininlärningsexperiment.
Anteckning
Gäller endast för: Machine Learning Studio (klassisk)
Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.
Azure Cosmos DB har stöd för NoSQL-databaslagring med hjälp av en flexibel datamodell. Fördelarna med att använda SQL-API:er i det här datalagret för maskininlärning är snabb och förutsägbar prestanda, automatisk skalning, global distribution och omfattande frågefunktioner.
Tillsammans med Azure SQL Database kan du med det här alternativet dynamiskt filtrera inkommande datamängder.
Lär dig hur det fungerar: Läs mer om Azure Cosmos DB
- För att komma igång med maskininlärning med data från Azure Cosmos DB måste du ha åtkomst till ett befintligt Azure Cosmos DB konto som innehåller en samling relaterade dokument.
Anteckning
Användargränssnittet i Machine Learning Studio (klassisk) använder fortfarande namnet DocumentDB på många platser. Därför kan du fortsätta att se referenser till DocumentDB, även om API:et har införlivats i Azure Cosmos DB.
Så här använder du Importera data med Azure Cosmos DB
Vi rekommenderar starkt att du profilerar dina data innan du importerar för att säkerställa att schemat är som förväntat. Importen genomsöker ett visst antal huvudrader för att fastställa schemat, men senare rader kan innehålla extra kolumner eller data som orsakar fel.
Importera data med hjälp av guiden
Modulen innehåller en ny guide som hjälper dig att välja ett lagringsalternativ, välja bland befintliga prenumerationer och konton och snabbt konfigurera alla alternativ.
Lägg till modulen Importera data i experimentet. Du hittar modulen under Indata och utdata.
Klicka på Starta guiden Importera data och följ anvisningarna.
När konfigurationen är klar högerklickar du på modulen för att kopiera data till experimentet och väljer Kör valda.
Tips
Om du behöver redigera en befintlig dataanslutning läser guiden in all tidigare konfigurationsinformation. Du behöver inte börja om från början.
Ange egenskaper manuellt i modulen Importera data
Följande steg beskriver hur du konfigurerar importkällan manuellt.
Lägg till modulen Importera data i experimentet. Du hittar den här modulen i kategorin Indata och utdata .
För Datakälla väljer du Azure DocumentDB.
Du kan behöva ange anslutningsinformation för dokumentdatabasen.
Tips
Leta efter namnet på alternativet i Machine Learning Studio (klassisk) om du vill ändra det vid ett senare tillfälle. Importfunktionen påverkades inte av namnändringen.
För Slutpunkts-URL går du till Azure Portal, klickar på Nycklar och kopierar innehållet i fältet URI överst på sidan.
För Databas-ID klistrar du in namnet på den databas som ska användas.
Om du vill hämta databasnamnet från Azure Portal klickar du på Dokumentutforskaren. Du kan visa listan över databaser och samlingar i det här fönstret.
För DocumentDB-nyckel klistrar du in en åtkomstnyckel för kontot.
Du hittar nycklarna genom att klicka på Nycklar och sedan kopiera innehållet i fälten PRIMÄRNYCKEL eller SEKUNDÄR NYCKEL.
För Samlings-ID anger du namnet på samlingen enligt det som visas i den angivna CosmosDB-databasen.
Definiera ett SQL och filtrera villkor för data med hjälp av SQL ochSQL för frågeparametrar.
Om SQL fråga skriver du en fråga som definierar de data som ska hämtas från samlingen. Vi rekommenderar att du använder Frågeutforskaren för att skapa och testa Dina CosmosDB-frågor i förväg.
För SQL-frågeparametrar anger du ett uttryck i JSON-format som kan användas för att dynamiskt filtrera de data som returneras. Normalt anger du det faktiska värdet för parametervärdet när du kör experimentet som en del av en webbtjänst.
Om du använder en parameter måste du definiera filtervariabelns namn som en del av WHERE-satsen som anges SQL frågetextrutan.
Om du inte anger ett filteruttryck är värdet som standard inställt på "{}" och alla poster returneras.
I avsnittet Tekniska anteckningar finns exempel, kända problem och ytterligare råd om SQL frågor på CosmosDB.
Välj alternativet Använd cachelagrade resultat om du vill återanvända befintliga resultat.
Om du avmarkerar det här alternativet läses data från källan varje gång experimentet körs, oavsett om data är desamma eller inte.
Machine Learning kan inte jämföra cachelagrade data med data i ditt CosmosDB-konto. Det finns därför inget sätt att utföra inkrementella uppdateringar från Machine Learning.
Om du bara vill importera igen när data ändras måste du definiera logiken i ett annat program, till exempel Azure Data Factory. Mer information finns i Flytta data till och från Azure Cosmos DB med Azure Data Factory.
Kör experimentet eller välj bara modulen Importera data och klicka på Kör valt.
Resultat
När du har kört modulen eller experimentet kan du högerklicka på modulens utdata för att visualisera resultatet i tabellformat.
Om du vill ta en ögonblicksbild av dessa data Machine Learning din arbetsyta som en datauppsättning kan du högerklicka på modulens utdata och välja Spara som datauppsättning. Detta samlar dock bara in de data som är tillgängliga vid tidpunkten för importen. Om data förväntas ändras ofta kör du Importera data igen efter behov.
Exempel
En detaljerad genomgång av hur du använder Azure Cosmos DB som datakälla för maskininlärning finns i Azure AI Gallery.
- SQL frågor för Azure Cosmos DB: Den här artikeln förklarar hur du utför SQL på Azure Cosmos DB data.
Teknisk information
Det här avsnittet innehåller avancerade konfigurationsalternativ och svar på vanliga frågor.
Exempel på enkla och parametriserade frågor
Anta att du bara vill använda data på åsnor med höjningar under 1 0000 fot.
Exempelfråga
Klistra in följande fråga SQL frågetextrutan:Select * from volcanodb where volcanodb.Elevation < 10000
I det här fallet anges värdet för filteruttrycket till "{}" och alla poster returneras.
Parametriserad fråga
Om du bara vill hämta data om datacenter som är relaterade till ett visst land kan du ange landsvärdet som en parameter som skickas till frågan vid körning. Detta kräver följande ändringar:
I textrutan SQL definierar du en variabel som ska tillämpas
Country
på fältet som en del av SQL frågan:Select * from volcanodb where volcanodb.Country = @param1
I textrutan SQL för frågeparametrar anger du parameternamnet och dess värde i JSON-format, så här:
{"@param1":"Turkey"}
Resurser
Om du inte har ett befintligt dokumentarkiv kan du läsa dessa artiklar för att komma igång.
Azure Cosmos DB: Skapa en SQL API-webbapp med .NET och Azure Portal
Snabbstart: Skapa en .NET-konsolapp för att hantera Azure Cosmos DB SQL API-resurser
Hjälp om datamigrering och frågesyntax
För exempel på frågor i ett JSON-datalager laddar du ned Azure Cosmos DB för frågor.
Om du behöver ladda upp innehåll till Azure Cosmos DB rekommenderar vi Azure Cosmos DB migreringsverktyget. Den validerar, laddar upp och indexerar dina data. Verktyget stöder flera källor, inklusive MongoDB, Amazon DynamoDB, HBase, SQL Server databaser och CSV-filer.
Använda scheman utan frågor
Om data är konsekventa och förutsägbara kan du använda SQL syntax, till exempel SELECT * FROM <document collection>
. Detta kallas för en schemas less-fråga eftersom du inte har namngett de exakta attributen som ska returneras. En sådan fråga returnerar alla fält och alla rader från den angivna samlingen.
Men om du inte anger ett schema kan det leda till oväntade resultat eller ett körningsfel om dokumenten har inkonsekventa scheman. Det beror på att modulen Importera data försöker härda schemat baserat på ett förbestämt antal rader enligt följande:
- När inga attribut anges genomsöker modulen den första raden i CosmosDB-databasen.
- Modulen skapar kolumnnamn baserat på attribut och gissar vilka kolumndatatyper som ska baseras på exempelraden.
- Om senare rader innehåller nya eller olika attribut genereras ett körningsfel.
Därför rekommenderar vi att du alltid anger de attribut och värden som ska returneras från CosmosDB-datalagret. I stället för att använda syntaxen SELECT *
rekommenderar vi till exempel att du ger alla attribut som hämtas av frågan ett namn, så här:
SELECT MyTable.Gender, MyTable.Age, MyTable.Name FROM <document collection>
Modulparametrar
Följande tabell innehåller endast de parametrar för modulen Importera data som gäller för Azure Cosmos DB alternativet.
Name | Intervall | Typ | Obligatorisk | Standardvärde | Description |
---|---|---|---|---|---|
Datakälla | lista | HTTP | krävs | inget | Datakällan kan vara HTTP, FTP, anonym HTTPS eller FTPS, en fil i Azure BLOB Storage, en Azure-tabell, en Azure SQL Database, en Hive-tabell, en OData-slutpunkt eller Azure Cosmos dB. |
Slutpunkts-URL | valfri | sträng | krävs | inget | Ange URI för Azure Cosmos DB servern |
Databas-id | valfri | sträng | krävs | inget | Ange namnet på Azure Cosmos DB databasen |
DocumentDB-nyckel | valfri | SecureString | krävs | inget | Ange en giltig API-nyckel för Azure Cosmos DB konto |
Samlings-ID | valfri | sträng | krävs | inget | Ange namnet på en samling i Azure Cosmos DB databasen |
SQL fråga | valfri | sträng | krävs | inget | En SQL att ange poster som ska returneras från Azure Cosmos DB datalager |
Utdata
Namn | Typ | Description |
---|---|---|
Resultatdatauppsättning | Datatabell | Datauppsättning med nedladdade data |
Undantag
Undantag | Description |
---|---|
Fel 0003 | Ett undantag inträffar om en eller flera indata är null eller tomma. |
Fel 0029 | Ett undantag inträffar när en ogiltig URI skickas. |
Fel 0002 | Ett undantag inträffar om en eller flera parametrar inte kunde parsas eller konverteras från den angivna typen till den typ som krävs av målmetoden. |
Fel 0048 | Ett undantag inträffar när det inte går att öppna en fil. |
Fel 0049 | Ett undantag inträffar när det inte går att parsa en fil. |
En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.
En lista över API-undantag finns i Machine Learning REST API felkoder.
Se även
Importera data
Exportera data
Importera från webb-URL via HTTP
Importera från Hive-fråga
Importera från Azure SQL Database
Importera från Azure Blob Storage
Importera från dataflödesproviders
Importera från lokal SQL Server databas