Dela via


Importera från dataflödesproviders

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 som tillhandahålls i OData-formatet till 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.

Att skapa en OData-slutpunkt för en datauppsättning är ett sätt att göra en datamodell tillgänglig för förbrukning via URL. Du kan också ange vilka OData-åtgärder som slutpunkten ska stödja. Mer information om hur du skapar Odata slutpunkter finns i OData v4 (ASP.NET).

Så här importerar du data från en feed

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.

Använd guiden Importera data

Modulen innehåller en ny guide som hjälper dig att välja ett lagringsalternativ. Använd guiden för att välja bland befintliga prenumerationer och konton och konfigurera snabbt alla alternativ.

  1. Lägg till modulen Importera data i experimentet. Du hittar modulen i Studio (klassisk) i kategorin 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.

Om du behöver redigera en befintlig dataanslutning läser guiden in all tidigare konfigurationsinformation så att du inte behöver börja om från början.

Ange egenskaper manuellt i modulen Importera data

Du kan också konfigurera importkällan manuellt.

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

  2. För Datakälla väljer du Datafeedprovider.

  3. För Datainnehållstyp väljer du typen av feed. För närvarande stöds endast OData-slutpunkter.

  4. För Käll-URL klistrar du in URL:en för en plats som tillhandahåller data i det format som krävs.

    Följande instruktion hämtar till exempel listan över produkter från Northwind-exempeldatabasen:

    https://services.odata.org/northwind/northwind.svc/Products

    Mer information finns i OData-syntax.

  5. Välj alternativet Använd cachelagrade resultat om du inte behöver läsa in data igen efter första gången. Det här är ett bra alternativ om data inte förväntas ändras mellan körningar av experimentet.

    Om det inte finns några andra ändringar av modulparametrar läser experimentet in data första gången modulen körs och använder sedan en cachelagrad version av datauppsättningen.

    Om du regelbundet behöver uppdatera data avmarkerar du det här alternativet.

  6. Kör experimentet.

Resultat

När du är klar klickar du på utdatauppsättningen och väljer Visualisera för att se om data har importerats.

När Import Data läser in flödesdata till Studio (klassisk) härar den datatypen för varje kolumn baserat på de värden som den innehåller, antingen numeriska eller kategoriska.

  • Om det finns en rubrik används -huvudet för att namnge kolumnerna i utdatauppsättningen.

  • Om det inte finns några befintliga kolumnrubriker i data genereras nya kolumnnamn med formatet col1, col2,… ,coln.

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

OData-syntax

Frågan måste returnera en platt tabell. Utplattning av kapslade OData-poster stöds inte.

Vissa kolumner som ingår i OData-feeds kan ha datatyper som inte stöds i Studio (klassisk), till exempel decimaler. Du kan mata in data som strängar och konvertera dem senare med hjälp av modulerna Execute R Script eller Metadata Editor .

Mer information om OData-syntax och URL:er finns i Odata.org - URI-konventioner

Vanliga frågor

Kan jag filtrera data när de läses från källan?

Modulen Importera data stöder vanligtvis inte filtrering eftersom data läses. Du kan dock ange ett filtervillkor som en del av feedresursens URL.

Om du vill filtrera data från feeden använder du instruktioner som stöds av OData-protokollet. Den här URL:en använder till exempel uttrycket $filter för att endast hämta de beställningar som är relaterade till medarbetaren med ID lika med 1.

https://services.odata.org/Northwind/Northwind.svc/Orders?$filter=Employee/EmployeeID eq 1

Fler exempel på filtersyntax finns i Använda filteruttryck i OData-URI:er.

Du kan också hämta alla data och filtrera dem efter inläsningen i Machine Learning Studio (klassisk):

  • Använd ett anpassat R-skript för att endast hämta de data du vill ha.

  • Använd modulen Dela data med ett relativt uttryck eller ett reguljärt uttryck för att isolera de data du vill ha och spara dem sedan som en datauppsättning.

Anteckning

Om du upptäcker att du har läst in mer data än du behöver kan du skriva över den cachelagrade datauppsättningen genom att läsa in en ny datauppsättning och spara den med samma namn som äldre, större data.

Jag får felet Autentiseringsuppgifter krävs för att ansluta till OData-källan. Uppdatera och ange autentiseringsuppgifter för att fortsätta. Hur anger jag autentiseringsuppgifter?**

Modulen Importera data stöder endast OData-slutpunkter med anonym åtkomst. Om OData-tjänsten kräver autentiseringsuppgifter kan du inte använda OData-alternativet för att hämta data.

Men om tjänsten finns i samma domän kan autentiseringen ibland ske automatiskt utan indata från användaren.

Som en lösning kan du använda PowerQuery eller PowerPivot för att läsa flödesdata och sedan hämta data från Excel.

Hur undviker jag att läsa in samma data i onödan igen?

Om dina källdata ändras kan du uppdatera datauppsättningen och lägga till nya data genom att köra Importera data igen. Men om du inte vill läsa från källan varje gång du kör experimentet väljer du alternativet Använd cachelagrade resultat till TRUE. När det här alternativet är inställt på TRUE kontrollerar modulen om experimentet har körts tidigare med samma källa och samma indataalternativ, och om en tidigare körning hittas används data i cacheminnet i stället för att läsa in data från källan igen.

Varför visas ett felmeddelande om att typen Decimal inte stöds?

Datatypen decimal stöds inte i Machine Learning. Orsaken är att importdata inte automatiskt kan utföra några konverteringar som skulle leda till en förlust av precision.

Mer information om datatyper som stöds finns i Moduldatatyper.

Som en lösning kan du läsa data som en strängdatatyp och sedan använda Redigera metadata för att konvertera decimaler till data som stöds innan du läser data.

Varför visas inte vissa tecken i flödet korrekt?

Machine Learning har stöd för UTF-8-kodning. Om källan använder en annan typ av kodning kanske inte tecknen importeras korrekt.

Som en tillfällig lösning kan du spara data i en CSV-fil i Azure Table Storage eller Azure Blob Storage. Använd sedan alternativet CSV med kodning för att ange parametrar för anpassade avgränsare, teckensidan och så vidare.

Modulparametrar

Name Intervall Typ Standardvärde Description
Datakälla Lista Datakälla eller mottagare Azure Blob Storage Datakällan kan vara HTTP, FTP, anonym HTTPS eller FTPS, en fil i Azure BLOB Storage, en Azure-tabell, en Azure SQL Database, en lokal SQL Server-databas, en Hive-tabell eller en OData-slutpunkt.
Datainnehållstyp Lista (delmängd) URL-innehåll OData Dataformattyp
Käll-URL valfri Sträng URL för Power Query datakälla
Använda cachelagrade resultat TRUE/FALSE Boolesk FALSE beskrivning

Utdata

Namn Typ Description
Resultatdatauppsättning Datatabell Datauppsättning med nedladdade data

Undantag

Undantag Description
Fel 0003 Ett undantag inträffar om ett eller flera indata är null eller tomma.
Fel 0029 Ett undantag inträffar när en ogiltig URI skickas.
Fel 0030 ett undantag inträffar när det inte går att ladda ned en fil.
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.

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 Table
Importera från Azure Blob Storage
Importera från lokal SQL Server Database