Importar ativos de dados (visualização)

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Neste artigo, você aprenderá a importar dados para a plataforma Azure Machine Learning de fontes externas. Uma importação de dados bem-sucedida cria e registra automaticamente um ativo de dados do Azure Machine Learning com o nome fornecido durante essa importação. Um ativo de dados do Azure Machine Learning se assemelha a um marcador do navegador da Web (favoritos). Você não precisa se lembrar de URIs (caminhos de armazenamento longos) que apontam para os dados usados com mais frequência. Em vez disso, você pode criar um ativo de dados e, em seguida, acessar esse ativo com um nome amigável.

Uma importação de dados cria um cache dos dados de origem, juntamente com metadados, para acesso mais rápido e confiável aos dados em trabalhos de treinamento do Azure Machine Learning. O cache de dados evita restrições de rede e conexão. Os dados armazenados em cache são versionados para oferecer suporte à reprodutibilidade. Isso fornece recursos de controle de versão para dados importados de fontes do SQL Server. Além disso, os dados armazenados em cache fornecem linhagem de dados para tarefas de auditoria. Uma importação de dados usa o ADF (pipelines do Azure Data Factory) nos bastidores, o que significa que os usuários podem evitar interações complexas com o ADF. Nos bastidores, o Azure Machine Learning também lida com o gerenciamento do tamanho do pool de recursos de computação do ADF, provisionamento de recursos de computação e desmontagem, para otimizar a transferência de dados determinando a paralelização adequada.

Os dados transferidos são particionados e armazenados com segurança como arquivos parquet no armazenamento do Azure. Isso permite um processamento mais rápido durante o treinamento. Os custos de cálculo do ADF envolvem apenas o tempo utilizado para as transferências de dados. Os custos de armazenamento envolvem apenas o tempo necessário para armazenar os dados em cache, porque os dados armazenados em cache são uma cópia dos dados importados de uma fonte externa. O armazenamento do Azure hospeda essa fonte externa.

O recurso de cache envolve custos iniciais de computação e armazenamento. No entanto, ele se paga e pode economizar dinheiro, porque reduz os custos recorrentes de computação de treinamento, em comparação com conexões diretas com dados de origem externa durante o treinamento. Ele armazena dados em cache como arquivos de parquet, o que torna o treinamento de trabalho mais rápido e confiável contra tempos limite de conexão para conjuntos de dados maiores. Isso leva a menos reprises e menos falhas de treinamento.

Você pode importar dados do Amazon S3, Azure SQL e Snowflake.

Importante

Esta funcionalidade está atualmente em pré-visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas.

Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Pré-requisitos

Para criar e trabalhar com ativos de dados, você precisa:

Nota

Para uma importação de dados bem-sucedida, verifique se você instalou o pacote azure-ai-ml mais recente (versão 1.15.0 ou posterior) para SDK e a extensão ml (versão 2.15.1 ou posterior).

Se você tiver um pacote SDK mais antigo ou uma extensão CLI, remova o antigo e instale o novo com o código mostrado na seção da guia. Siga as instruções para SDK e CLI como mostrado aqui:

Versões de código

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)

Importar de um banco de dados externo como um ativo de dados mltable

Nota

Os bancos de dados externos podem ter formatos Snowflake, Azure SQL, etc.

Os exemplos de código a seguir podem importar dados de bancos de dados externos. A connection ação que manipula a importação determina os metadados da fonte de dados do banco de dados externo. Neste exemplo, o código importa dados de um recurso Snowflake. A conexão aponta para uma fonte de flocos de neve. Com uma pequena modificação, a conexão pode apontar para uma fonte de banco de dados SQL do Azure e uma fonte de banco de dados SQL do Azure. O ativo type importado de uma fonte de banco de dados externa é mltable.

Criar um YAML ficheiro <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>

Em seguida, execute o seguinte comando na CLI:

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

Importar dados de um sistema de arquivos externo como um ativo de dados de pasta

Nota

Um recurso de dados do Amazon S3 pode servir como um recurso externo do sistema de arquivos.

A connection ação que manipula a importação de dados determina os aspetos da fonte de dados externa. A conexão define um bucket do Amazon S3 como destino. A conexão espera um valor válido path . Um valor de ativo importado de uma fonte de sistema de arquivos externa tem um type de uri_folder.

O próximo exemplo de código importa dados de um recurso do Amazon S3.

Criar um YAML ficheiro <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>

Em seguida, execute este comando na CLI:

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

Verificar o status de importação de fontes de dados externas

A ação de importação de dados é uma ação assíncrona. Pode demorar muito tempo. Após o envio de uma ação de importação de dados por meio da CLI ou SDK, o serviço Azure Machine Learning pode precisar de vários minutos para se conectar à fonte de dados externa. Em seguida, o serviço iniciaria a importação de dados e manipularia o cache e o registro de dados. O tempo necessário para uma importação de dados também depende do tamanho do conjunto de dados de origem.

O próximo exemplo retorna o status da atividade de importação de dados enviada. O comando ou método usa o nome "ativo de dados" como entrada para determinar o status da materialização dos dados.

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

Próximos passos