Dela via


Importera datatillgångar (förhandsversion)

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

I den här artikeln får du lära dig hur du importerar data till Azure Mašinsko učenje-plattformen från externa källor. En lyckad dataimport skapar och registrerar automatiskt en Azure-Mašinsko učenje datatillgång med namnet som angavs under importen. En Azure-Mašinsko učenje datatillgång liknar ett webbläsarbokmärke (favoriter). Du behöver inte komma ihåg långa lagringssökvägar (URI:er) som pekar på dina data som används oftast. I stället kan du skapa en datatillgång och sedan komma åt tillgången med ett eget namn.

En dataimport skapar en cache med källdata, tillsammans med metadata, för snabbare och tillförlitlig dataåtkomst i Azure Mašinsko učenje träningsjobb. Datacachen undviker nätverks- och anslutningsbegränsningar. Cachelagrade data är versionshanterade för att stödja reproducerbarhet. Detta ger versionsfunktioner för data som importerats från SQL Server-källor. Dessutom tillhandahåller cachelagrade data data härstamning för granskningsuppgifter. En dataimport använder ADF (Azure Data Factory-pipelines) i bakgrunden, vilket innebär att användarna kan undvika komplexa interaktioner med ADF. I bakgrunden hanterar Azure Mašinsko učenje även hantering av ADF-beräkningsresurspoolens storlek, etablering av beräkningsresurser och nedrullningsbara resurser för att optimera dataöverföringen genom att fastställa rätt parallellisering.

De överförda data partitioneras och lagras på ett säkert sätt som parquet-filer i Azure Storage. Detta möjliggör snabbare bearbetning under träningen. ADF-beräkningskostnader omfattar bara den tid som används för dataöverföringar. Lagringskostnaderna omfattar bara den tid som krävs för att cachelagras, eftersom cachelagrade data är en kopia av data som importerats från en extern källa. Azure Storage är värd för den externa källan.

Cachelagringsfunktionen omfattar startkostnader för beräkning och lagring. Den betalar dock för sig själv och kan spara pengar eftersom den minskar återkommande kostnader för träningsberäkning jämfört med direkta anslutningar till externa källdata under träningen. Den cachelagrar data som parquet-filer, vilket gör jobbträningen snabbare och mer tillförlitlig mot tidsgränser för anslutningar för större datamängder. Detta leder till färre omkörningar och färre träningsfel.

Du kan importera data från Amazon S3, Azure SQL och Snowflake.

Viktigt!

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.

Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Förutsättningar

Om du vill skapa och arbeta med datatillgångar behöver du:

Kommentar

För en lyckad dataimport kontrollerar du att du har installerat det senaste azure-ai-ml-paketet (version 1.15.0 eller senare) för SDK och ML-tillägget (version 2.15.1 eller senare).

Om du har ett äldre SDK-paket eller CLI-tillägg tar du bort det gamla och installerar det nya med koden som visas i flikavsnittet. Följ anvisningarna för SDK och CLI enligt följande:

Kodversioner

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

Importera från en extern databas som en mltable-datatillgång

Kommentar

De externa databaserna kan ha Format för Snowflake, Azure SQL osv.

Följande kodexempel kan importera data från externa databaser. Den connection som hanterar importåtgärden avgör metadata för den externa databasens datakälla. I det här exemplet importerar koden data från en Snowflake-resurs. Anslutningen pekar på en Snowflake-källa. Med en liten ändring kan anslutningen peka på en Azure SQL-databaskälla och en Azure SQL-databaskälla. Den importerade tillgången type från en extern databaskälla är mltable.

Skapa en YAML fil <file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

Kör sedan följande kommando i CLI:

> az ml data import -f <file-name>.yml

Importera data från ett externt filsystem som en mappdatatillgång

Kommentar

En Amazon S3-dataresurs kan fungera som en extern filsystemresurs.

Den connection som hanterar åtgärden för dataimport avgör aspekterna av den externa datakällan. Anslutningen definierar en Amazon S3-bucket som mål. Anslutningen förväntar sig ett giltigt path värde. Ett tillgångsvärde som importeras från en extern filsystemkälla har värdet type uri_folder.

Nästa kodexempel importerar data från en Amazon S3-resurs.

Skapa en YAML fil <file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

Kör sedan det här kommandot i CLI:

> az ml data import -f <file-name>.yml

Kontrollera importstatusen för externa datakällor

Dataimportåtgärden är en asynkron åtgärd. Det kan ta lång tid. När en importdataåtgärd har överförts via CLI eller SDK kan Azure Mašinsko učenje-tjänsten behöva flera minuter för att ansluta till den externa datakällan. Sedan startar tjänsten dataimporten och hanterar cachelagring och registrering av data. Den tid som krävs för en dataimport beror också på storleken på källdatauppsättningen.

I nästa exempel returneras status för den skickade dataimportaktiviteten. Kommandot eller metoden använder namnet på "datatillgången" som indata för att fastställa status för datamaterialiseringen.

> az ml data list-materialization-status --name <name>

Nästa steg