Udostępnij za pośrednictwem


Importowanie zasobów danych (wersja zapoznawcza)

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

Z tego artykułu dowiesz się, jak zaimportować dane do platformy Azure Machine Learning ze źródeł zewnętrznych. Pomyślne importowanie danych automatycznie tworzy i rejestruje zasób danych usługi Azure Machine Learning o nazwie podanej podczas tego importu. Zasób danych usługi Azure Machine Learning przypomina zakładkę przeglądarki internetowej (ulubione). Nie musisz pamiętać długich ścieżek magazynu (URI), które wskazują na najczęściej używane dane. Zamiast tego możesz utworzyć zasób danych, a następnie uzyskać dostęp do tego zasobu za pomocą przyjaznej nazwy.

Import danych tworzy pamięć podręczną danych źródłowych wraz z metadanymi w celu szybszego i niezawodnego dostępu do danych w zadaniach szkoleniowych usługi Azure Machine Learning. Pamięć podręczna danych pozwala uniknąć ograniczeń sieci i połączeń. Buforowane dane są wersjonowane w celu zapewnienia powtarzalności. Zapewnia to możliwości przechowywania wersji danych importowanych ze źródeł programu SQL Server. Ponadto buforowane dane zapewniają pochodzenie danych do zadań inspekcji. Importowanie danych używa potoków usługi ADF (Azure Data Factory) w tle, co oznacza, że użytkownicy mogą uniknąć złożonych interakcji z usługą ADF. W tle usługa Azure Machine Learning obsługuje również zarządzanie rozmiarem puli zasobów obliczeniowych usługi ADF, aprowizacją zasobów obliczeniowych i usuwaniem, aby zoptymalizować transfer danych, określając właściwą równoległość.

Przesyłane dane są partycjonowane i bezpiecznie przechowywane jako pliki parquet w usłudze Azure Storage. Umożliwia to szybsze przetwarzanie podczas trenowania. Koszty obliczeń usługi ADF obejmują tylko czas używany do transferów danych. Koszty magazynu obejmują tylko czas potrzebny do buforowania danych, ponieważ buforowane dane są kopią danych importowanych ze źródła zewnętrznego. Usługa Azure Storage hostuje to źródło zewnętrzne.

Funkcja buforowania obejmuje koszty obliczeń i magazynu z góry. Jednak płaci za siebie i może zaoszczędzić pieniądze, ponieważ zmniejsza cykliczne koszty obliczeń szkoleniowych, w porównaniu z bezpośrednimi połączeniami z danymi źródła zewnętrznego podczas trenowania. Buforuje dane jako pliki parquet, co sprawia, że trenowanie zadań jest szybsze i bardziej niezawodne w przypadku przekroczenia limitu czasu połączenia w przypadku większych zestawów danych. Prowadzi to do mniejszej liczby ponownych uruchomień i mniejszej liczby niepowodzeń trenowania.

Dane można importować z usług Amazon S3, Azure SQL i Snowflake.

Ważne

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.

Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Wymagania wstępne

Aby utworzyć zasoby danych i pracować z nimi, potrzebne są następujące elementy:

Uwaga

W przypadku pomyślnego importowania danych sprawdź, czy zainstalowano najnowszy pakiet azure-ai-ml (wersja 1.15.0 lub nowsza) dla zestawu SDK oraz rozszerzenie ml (wersja 2.15.1 lub nowsza).

Jeśli masz starszy pakiet zestawu SDK lub rozszerzenie interfejsu wiersza polecenia, usuń stary i zainstaluj nowy przy użyciu kodu pokazanego w sekcji tabulacji. Postępuj zgodnie z instrukcjami dotyczącymi zestawu SDK i interfejsu wiersza polecenia, jak pokazano poniżej:

Wersje kodu

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)

Importowanie z zewnętrznej bazy danych jako zasobu danych mltable

Uwaga

Zewnętrzne bazy danych mogą mieć formaty Snowflake, Azure SQL itp.

Poniższe przykłady kodu mogą importować dane z zewnętrznych baz danych. Element connection obsługujący akcję importowania określa metadane zewnętrznego źródła danych bazy danych. W tym przykładzie kod importuje dane z zasobu Snowflake. Połączenie wskazuje źródło Snowflake. W przypadku niewielkiej modyfikacji połączenie może wskazywać źródło bazy danych Azure SQL Database i źródło bazy danych Azure SQL Database. Zaimportowany zasób type z zewnętrznego źródła bazy danych to mltable.

YAML Utwórz plik <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>

Następnie uruchom następujące polecenie w interfejsie wiersza polecenia:

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

Importowanie danych z zewnętrznego systemu plików jako zasobu danych folderu

Uwaga

Zasób danych amazon S3 może służyć jako zewnętrzny zasób systemu plików.

Element connection obsługujący akcję importowania danych określa aspekty zewnętrznego źródła danych. Połączenie definiuje zasobnik Amazon S3 jako docelowy. Połączenie oczekuje prawidłowej path wartości. Wartość zasobu zaimportowana ze źródła zewnętrznego systemu plików ma type wartość uri_folder.

Następny przykładowy kod importuje dane z zasobu amazon S3.

YAML Utwórz plik <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>

Następnie wykonaj to polecenie w interfejsie wiersza polecenia:

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

Sprawdzanie stanu importu zewnętrznych źródeł danych

Akcja importowania danych jest akcją asynchroniczną. Może to potrwać długo. Po przesłaniu akcji importowania danych za pośrednictwem interfejsu wiersza polecenia lub zestawu SDK usługa Azure Machine Learning może wymagać kilku minut, aby nawiązać połączenie z zewnętrznym źródłem danych. Następnie usługa uruchomi importowanie danych i obsłuży buforowanie i rejestrację danych. Czas potrzebny do zaimportowania danych zależy również od rozmiaru zestawu danych źródłowych.

W następnym przykładzie jest zwracany stan przesłanego działania importowania danych. Polecenie lub metoda używa nazwy "zasobu danych" jako danych wejściowych w celu określenia stanu materializacji danych.

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

Następne kroki