Exportera till Azure Table

Den här artikeln beskriver hur du använder alternativet Exportera till Azure i modulen Exportera data i Azure Machine Learning Studio (klassisk).

Anteckning

Gäller för: Machine Learning Studio (klassisk)

Det här innehållet gäller endast Studio (klassisk). Liknande dra-och släpp moduler har lagts till i Azure Machine Learning designer. Mer information i den här artikeln är att jämföra de två versionerna.

Det här alternativet är användbart när du vill exportera resultat eller mellanliggande data från ett maskininlärningsexperiment till en Azure-tabell. Azure-tabelltjänsten är en datahanteringstjänst i Azure som kan lagra stora mängder strukturerade, icke-relationella data. Det är ett NoSQL-datalager som accepterar autentiserade anrop inifrån och utanför Azure.

Så här exporterar du data till en Azure-tabell

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

  2. Anslut den till modulen som producerar de data som du vill exportera till Azure Table Storage.

  3. Ange om du vill exportera data till en offentlig delad resurs eller till ett privat lagringskonto som kräver inloggningsuppgifter genom att ange alternativet Autentiseringstyp.

    • Offentlig (SAS-URL): Välj det här alternativet om kontot stöder åtkomst via SAS-URL. I fältet Table SAS URI (SAS-URI för tabell) skriver eller klistrar du in den fullständiga URI som definierar kontot och den offentliga bloben.

      SAS-URL:en är en tidsbunden åtkomst-URL som du kan generera med hjälp av ett Azure Storage-verktyg. På en sida som är tillgänglig via SAS-URL kan data endast lagras med följande format: CSV, TSV och ARFF.

    • Konto: Välj det här alternativet om dina data finns i ett privat konto. Du måste också ange autentiseringsuppgifter, inklusive kontonamnet och nyckeln.

  4. Om du vill exportera dina data till skyddad privat lagring anger du de autentiseringsuppgifter som krävs för att komma åt kontot:

    • Namn på tabellkonto: Skriv eller klistra in namnet på det konto som innehåller den blob som du vill komma åt. Om den fullständiga URL:en för lagringskontot till exempel är https://myshared.table.core.windows.net skriver du myshared .

    • Tabellkontonyckel: Klistra in åtkomstnyckeln som är associerad med lagringskontot.

    • Tabellnamn: Ange namnet på den specifika tabell som du vill läsa.

  5. Ange vilka kolumner som ska sparas i tabelllagret och vilka kolumner som ska användas för att definiera tabellschemat med hjälp av kolumnegenskaperna.

    • Partitionsnyckel: Välj den kolumn som ska användas för att partitionera den sparade datauppsättningen för tabellen i Azure Storage. Tabeller i Azure är partitionerade för att stödja belastningsutjämning mellan lagringsnoder. Alla tabellentiteter ordnas efter partition. Därför krävs egenskapen PartitionKey för alla tabellåtgärder.

    • Radnyckel för Azure-tabell: Välj den kolumn som ska användas för egenskapen RowKey. Egenskapen RowKey är en systemegenskap som krävs för varje entitet i en tabell. Tillsammans med egenskapen PartitionKey utgör den ett unikt index för varje rad i tabellen.

    Anteckning

    Du måste använda olika kolumner för RowKey och PartitionKey. Kontrollera att alla kolumner som du väljer för RowKey eller PartitionKey också ingår i listan med målkolumner, annars uppstår ett fel.

    • Ursprungskolumner för Azure-tabeller: Välj eventuella ytterligare kolumner från datauppsättningen som du vill spara i Azure-tabellen. Du måste också inkludera de kolumner som valts för PartitionKey och RowKey.

    Mer information om tabeller i Azure Storage finns i Understanding the Table Service Data Model.

  6. Ange namnen på kolumnerna som ska skrivas till tabellen.

    Viktigt

    Du måste ange ett kolumnnamn för varje kolumn som du matar ut till tabellen, inklusive RowKey, PartitionKey och alla ursprungskolumner.

    Om antalet kolumnnamn som du anger inte matchar antalet utdatakolumner uppstår ett fel.

    Om du skriver nya kolumnnamn måste de anges i ordningen för kolumnindexen för källkolumnerna.

  7. Skrivläge för Azure-tabell: Ange hur du vill att Exportera data ska bete sig när data redan finns i Azure-tabellen.

    • Infoga: Åtgärden infogar en ny entitet med en unik primärnyckel som skapas från en kombination av Insert Entity egenskaperna PartitionKey och RowKey.

    • Sammanfoga: Åtgärden Merge Entity uppdaterar en befintlig entitet genom att uppdatera entitetens egenskaper. Den här åtgärden ersätter inte den befintliga entiteten.

    • Ersätt: Åtgärden Update Entity ersätter innehållet i den angivna entiteten i en tabell.

    • InsertOrReplace: Åtgärden InsertOrReplace Entity infogar entiteten om entiteten inte finns. Om entiteten finns ersätter den den befintliga.

    • InsertOrMerge: Åtgärden InsertOrMerge Entity infogar entiteten om entiteten inte finns. Om entiteten finns sammanslår den de angivna entitetsegenskaperna med de redan befintliga.

  8. Använd cachelagrade resultat: Ange om du vill att data ska uppdateras varje gång experimentet körs.

    Om du väljer det här alternativet sparar modulen Exportera data data till den angivna tabellen första gången experimentet körs och utför därefter inte skrivningar, såvida det inte finns överordnade ändringar.

    Om du avmarkerar det här alternativet skrivs data till målet varje gång experimentet körs, oavsett om data är desamma eller inte.

  9. Kör experimentet.

Teknisk information

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

Vanliga frågor

Varför fick jag ett felmeddelande när jag skrev till en befintlig tabell

Kontrollera schemat för tabellen för att se till att kolumnerna och datatyperna är desamma. I t.ex. Azure Table Storage förväntas ID-kolumnen vara en sträng.

Om du får felet Fel 0027: Storleken på skickade objekt är inkonsekvent , kontrollera att tabellen finns i den angivna containern. För närvarande kan Azure ML endast skriva till befintliga tabeller.

Varför får jag felmeddelandet att det inte går att hitta en befintlig kolumn

Om du inte har kört experimentet identifieras ibland inte överordnade kolumner av Exportera data. Om du gör ändringar uppströms i experimentet kan du behöva ta bort modulen Exportera data och sedan lägga till och konfigurera om den.

Hur undviker jag att skriva om samma data i onödan

Om data i experimentet av någon anledning ändras skriver modulen Exportera data alltid nya data.

Men om du kör experimentet med en annan ändring som inte påverkar resultatet anger du alternativet Använd cachelagrade resultat till TRUE. Modulen kontrollerar om experimentet har körts tidigare med samma alternativ, och om ett tidigare resultat hittas skrivs inte data till Azure-tabellen.

Kan jag exportera data till en annan geografisk region

Ja. Men om lagringskontot finns i en annan region än beräkningsnoden som används för machine learning-experimentet kan dataåtkomsten vara långsammare. Dessutom debiteras du för in- och utgående data i prenumerationen.

Exempel

Exempel på hur du använder dessa maskininlärningsmoduler finns i Azure AI Gallery.

Modulparametrar

Offentlig eller SAS – offentliga alternativ

Name Intervall Typ Standardvärde Description
SAS-URI för tabell valfri Sträng

Konto – Alternativ för privat konto

Name Intervall Typ Standardvärde Description
Tabellkontonamn
Tabellkontonyckel valfri SecureString

Lagringsalternativ

Name Intervall Typ Standardvärde Description
Tabellnamn Sträng inget
Partitionsnyckel valfri SecureString inget Välj den kolumn som ska användas som nyckel vid partitionering av tabellen. Om ingen kolumn har valts anges kolumnnamnet som partitionsnyckel för alla poster
Radnyckel för Azure-tabell valfri ColumnPicker inget Välj den kolumn som innehåller den unika identifieraren för tabellrader. Standardvärdet är en GUID-baserad radnyckel
Ursprungskolumner för Azure-tabeller valfri ColumnPicker inget Ange vilka kolumner som ska ingå i tabellen, antingen efter namn eller efter kolumnindex
Målkolumner för Azure-tabeller valfri Sträng inget Skriv namnen på kolumnerna som ska användas i måltabellen
Skrivläge för Azure-tabell Lista: Insert, Merge, Replace, InsertOrReplace, InsertOrMerge Enum inget
Använda cachelagrade resultat TRUE/FALSE Boolesk FALSE Modulen körs bara om det inte finns någon giltig cache. använd annars cachelagrade data från föregående körning.

Undantag

Undantag Description
Fel 0027 Ett undantag inträffar när två objekt måste ha samma storlek, men de inte är det.
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 0030 ett undantag inträffar i 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.
Fel 0009 Ett undantag inträffar om namnet på Azure-lagringskontot eller containernamnet har angetts felaktigt.
Fel 0048 Ett undantag inträffar när det inte går att öppna en fil.
Fel 0046 Ett undantag inträffar när det inte går att skapa en katalog på den angivna sökvägen.
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
Exportera till Azure SQL Database
Exportera till Azure Blob Storage
Exportera till Hive-fråga