Dela via


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.

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.

  1. Lägg till modulen Importera data i experimentet. Du hittar modulen under Indata och utdata.

  2. Klicka på Starta guiden Importera data och följ anvisningarna.

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

  1. Lägg till modulen Importera data i experimentet. Du hittar den här modulen i kategorin Indata och utdata .

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

  3. För Slutpunkts-URL går du till Azure Portal, klickar på Nycklar och kopierar innehållet i fältet URI överst på sidan.

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

  5. För DocumentDB-nyckel klistrar du in en åtkomstnyckel för kontot.

    Du hittar nycklarna genom att klicka Nycklar och sedan kopiera innehållet i fälten PRIMÄRNYCKEL eller SEKUNDÄR NYCKEL.

  6. För Samlings-ID anger du namnet på samlingen enligt det som visas i den angivna CosmosDB-databasen.

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

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

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

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:

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

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

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:

  1. När inga attribut anges genomsöker modulen den första raden i CosmosDB-databasen.
  2. Modulen skapar kolumnnamn baserat på attribut och gissar vilka kolumndatatyper som ska baseras på exempelraden.
  3. 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