Sdílet prostřednictvím


Import datových prostředků (Preview)

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

V tomto článku se dozvíte, jak importovat data do platformy Azure Machine Learning z externích zdrojů. Úspěšný import dat automaticky vytvoří a zaregistruje datový prostředek služby Azure Machine Learning s názvem zadaným během tohoto importu. Datový prostředek služby Azure Machine Learning se podobá záložce webového prohlížeče (oblíbené položky). Nemusíte si pamatovat dlouhé cesty k úložišti (URI), které odkazují na nejčastěji používaná data. Místo toho můžete vytvořit datový asset a pak k němu přistupovat s popisným názvem.

Import dat vytvoří mezipaměť zdrojových dat spolu s metadaty pro rychlejší a spolehlivý přístup k datům v trénovacích úlohách služby Azure Machine Learning. Mezipaměť dat zabraňuje omezením sítě a připojení. Data uložená v mezipaměti jsou verze, aby byla podporována reprodukovatelnost. To poskytuje možnosti správy verzí pro data importovaná ze zdrojů SQL Serveru. Kromě toho data uložená v mezipaměti poskytují rodokmen dat pro úlohy auditování. Import dat používá na pozadí kanály ADF (kanály Azure Data Factory), což znamená, že uživatelé se můžou vyhnout složitým interakcím s ADF. Azure Machine Learning na pozadí také zpracovává správu velikosti fondu výpočetních prostředků ADF, zřizování výpočetních prostředků a odstraňování, aby se optimalizoval přenos dat určením správné paralelizace.

Přenášená data se rozdělují a bezpečně ukládají jako soubory parquet v úložišti Azure. To umožňuje rychlejší zpracování během trénování. Náklady na výpočetní prostředky ADF zahrnují jenom čas používaný pro přenosy dat. Náklady na úložiště zahrnují jenom čas potřebný k ukládání dat do mezipaměti, protože data uložená v mezipaměti představují kopii dat importovaných z externího zdroje. Azure Storage hostuje tento externí zdroj.

Funkce ukládání do mezipaměti zahrnuje počáteční náklady na výpočetní prostředky a úložiště. Platí za sebe a může ušetřit peníze, protože snižuje náklady na opakované trénování výpočetních prostředků v porovnání s přímými připojeními k externím zdrojovým datům během trénování. Ukládá data do mezipaměti jako soubory parquet, díky čemuž je trénování úloh rychlejší a spolehlivější oproti vypršení časového limitu připojení u větších datových sad. To vede k menšímu počtu opakovaných spuštění a menšímu počtu selhání trénování.

Data můžete importovat z AmazonU S3, Azure SQL a Snowflake.

Důležité

Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.

Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Požadavky

K vytváření a práci s datovými prostředky potřebujete:

Poznámka:

Pro úspěšný import dat ověřte, že jste nainstalovali nejnovější balíček azure-ai-ml (verze 1.15.0 nebo novější) pro sadu SDK a rozšíření ml (verze 2.15.1 nebo novější).

Pokud máte starší balíček sady SDK nebo rozšíření rozhraní příkazového řádku, odeberte starý balíček nebo rozšíření rozhraní příkazového řádku a nainstalujte nový balíček s kódem zobrazeným v části karta. Postupujte podle pokynů pro sadu SDK a rozhraní příkazového řádku, jak je znázorněno tady:

Verze kódu

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)

Import z externí databáze jako datového prostředku mltable

Poznámka:

Externí databáze můžou mít formáty Snowflake, Azure SQL atd.

Následující ukázky kódu můžou importovat data z externích databází. Akce connection importu určuje metadata zdroje dat externí databáze. V této ukázce kód importuje data z prostředku Snowflake. Spojení odkazuje na zdroj Snowflake. S trochou změn může připojení odkazovat na zdroj databáze Azure SQL a zdroj databáze Azure SQL. Importovaný prostředek type z externího zdroje databáze je mltable.

Vytvoření YAML souboru <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>

Potom v rozhraní příkazového řádku spusťte následující příkaz:

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

Import dat z externího systému souborů jako datového prostředku složky

Poznámka:

Datový prostředek Amazon S3 může sloužit jako externí prostředek systému souborů.

Akce connection importu dat určuje aspekty externího zdroje dat. Připojení definuje kontejner Amazon S3 jako cíl. Připojení očekává platnou path hodnotu. Hodnota aktiva importovaná z externího zdroje systému souborů má hodnotu type uri_folder.

Následující ukázka kódu importuje data z prostředku Amazon S3.

Vytvoření YAML souboru <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>

V dalším kroku spusťte tento příkaz v rozhraní příkazového řádku:

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

Kontrola stavu importu externích zdrojů dat

Akce importu dat je asynchronní akce. Může to trvat dlouho. Po odeslání akce importu dat prostřednictvím rozhraní příkazového řádku nebo sady SDK může služba Azure Machine Learning potřebovat několik minut připojení k externímu zdroji dat. Služba pak spustí import dat a zpracuje ukládání dat do mezipaměti a registraci. Doba potřebná pro import dat závisí také na velikosti zdrojové sady dat.

Další příklad vrátí stav odeslané aktivity importu dat. Příkaz nebo metoda používá jako vstup název datového assetu k určení stavu materializace dat.

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

Další kroky