Criar ativos de dados

APLICA-SE A:Extensão de ML da CLI do Azure v2 (atual)SDK do Python azure-ai-ml v2 (atual)

Neste artigo, você aprende como criar um ativo de dados no Azure Machine Learning. Ao criar um ativo de dados, você cria uma referência para a localização da fonte de dados, junto de uma cópia dos metadados. Como os dados permanecem na localização existente, você não tem nenhum custo de armazenamento adicional e não arrisca a integridade das suas fontes de dados. Você pode criar dados dos armazenamentos de dados do Azure ML, do Armazenamento do Microsoft Azure, de URLs públicas e de arquivos locais.

Importante

Se você quiser apenas acessar seus dados em uma sessão interativa (por exemplo, um Notebook) ou em um trabalho, não será necessário criar um ativo de dados primeiro. Criar um ativo de dados seria uma etapa desnecessária para você.

Para obter mais informações sobre como acessar seus dados em um notebook, confira Acessar dados do armazenamento em nuvem do Azure para desenvolvimento interativo.

Para obter mais informações sobre como acessar seus dados (armazenamento local e em nuvem) em um trabalho, confira Acessar dados em um trabalho.

A criação de ativos de dados é útil quando você deseja:

  • Reutilizar e compartilhar dados com outros membros da sua equipe para que não seja necessário lembrar dos locais dos arquivos no armazenamento em nuvem.
  • Versão dos metadados, como localização, descrição e marcas.

Pré-requisitos

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

Caminhos com suporte

Ao criar um ativo de dados no Azure Machine Learning, você precisará especificar um path parâmetro que aponte para sua localização. Veja abaixo uma tabela que mostra os diferentes locais de dados com suporte no Azure Machine Learning e exemplos para o pathparâmetro:

Localização Exemplos Observações
Um caminho no computador local ./home/username/data/my_data
Um caminho em um armazenamento de dados azureml://datastores/<data_store_name>/paths/<path>
Um caminho em um servidor https(s) público https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv Não há suporte para o caminho https apontando para uma pasta, pois https não é um sistema de arquivos. Use outros formatos (wasbs/abfss/adl) para o tipo de pasta de dados.
Um caminho no Armazenamento do Azure wasbs://<containername>@<accountname>.blob.core.windows.net/<path_to_data>/
abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>
adl://<accountname>.azuredatalakestore.net/<path_to_data>/

Observação

Quando você cria um ativo de dados de um caminho local, ele será carregado automaticamente no armazenamento de dados padrão do Azure Machine Learning na nuvem.

Importante

O estúdio suporta apenas a navegação em armazenamentos de dados ADLS Gen 2 sem credenciais.

Importante

A autenticação para acessar dados usará a identidade do usuário ou a MSI de computação por padrão.

Tipos de ativos de dados

  • [URIs](#Criar um ativo de dados uri_folder) – Um Uniform Resource Identifier que é uma referência a um local de armazenamento no computador local ou na nuvem que facilita o acesso aos dados nos trabalhos. O Azure Machine Learning distingue dois tipos de URIs: uri_file e uri_folder.

  • [MLTable](#Criar um ativo de dados mltable) – MLTable ajuda você a abstrair a definição de esquema dos dados tabulares para torná-lo mais adequado ao esquema complexo/alterável ou para ser utilizado no AutoML. Se você quiser apenas criar um ativo de dados para um trabalho ou escrever a própria lógica de análise em Python, use uri_file, uri_folder.

Os cenários ideais a serem usados mltable são:

  • O esquema de seus dados é complexo e/ou muda com frequência.
  • Você precisará apenas de um subconjunto de dados (por exemplo: uma amostra de linhas ou arquivos, colunas específicas, etc.)
  • Trabalhos AutoML que exigem dados tabulares.

Se o cenário não se ajustar ao acima, é provável que os URIs sejam um tipo mais adequado.

Criar um uri_folder ativo de dados

Abaixo mostra como criar uma pasta como um ativo:

Criar um YAML arquivo (<file-name>.yml):

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json

# Supported paths include:
# local: ./<path>
# blob:  wasbs://<containername>@<accountname>.blob.core.windows.net/<path>/
# ADLS gen2: abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>/
# Datastore: azureml://datastores/<data_store_name>/paths/<path>
type: uri_folder
name: <name_of_data>
description: <description goes here>
path: <path>

Em seguida, crie o ativo de dados usando a CLI:

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

Criar um uri_file ativo de dados

Abaixo mostra como criar um arquivo específico como um ativo de dados:

O arquivo <file-name>.yml do exemploYAML para dados no caminho local é o seguinte:

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json

# Supported paths include:
# local: ./<path>/<file>
# blob:  wasbs://<containername>@<accountname>.blob.core.windows.net/<path>/<file>
# ADLS gen2: abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>/<file>
# Datastore: azureml://datastores/<data_store_name>/paths/<path>/<file>

type: uri_file
name: <name>
description: <description>
path: <uri>
> az ml data create -f <file-name>.yml

Criar um mltable ativo de dados

mltable é uma maneira de abstrair a definição de esquema para dados tabulares para facilitar o compartilhamento de ativos de dados (uma visão geral pode ser encontrada em MLTable). A mltable dá suporte a dados tabulares provenientes das seguintes fontes:

  • Arquivos delimitados (CSV, TSV, TXT)
  • Arquivos Parquet
  • Linhas JSON
  • Delta Lake

Encontre mais detalhes sobre quais são as habilidades que fornecemos por meio de mltable em reference-yaml-mltable.

Nesta seção, mostramos como criar um ativo de dados quando o tipo é um mltable.

O arquivo MLTable

O arquivo MLTable é um arquivo que fornece a especificação do esquema dos dados para que o mltablemecanismo possa materializar os dados em um objeto na memória (Pandas/Dask/Spark).

Observação

Esse arquivo precisa ser nomeado exatamente como MLTable.

Um exemplo de arquivo MLTable para arquivos delimitados é fornecido a seguir:

type: mltable

paths:
  - pattern: ./*.txt
transformations:
  - read_delimited:
      delimiter: ','
      encoding: ascii
      header: all_files_same_headers

Um exemplo de arquivo MLTable para Delta Lake é fornecido a seguir:

type: mltable

paths:
  - folder: ./

transformations:
  - read_delta_lake:
      timestamp_as_of: '2022-08-26T00:00:00Z'
#timestamp_as_of: Timestamp to be specified for time-travel on the specific Delta Lake data.
#version_as_of: Version to be specified for time-travel on the specific Delta Lake data.

Para obter mais transformações disponíveis em mltable, pesquise reference-yaml-mltable.

Importante

Recomendamos a localização conjunta do arquivo MLTable com os dados subjacentes no armazenamento. Por exemplo:

├── my_data
│   ├── MLTable
│   ├── file_1.txt
.
.
.
│   ├── file_n.txt

Colocar o MLTable com os dados garante um artefatoautocontido onde tudo o que é necessário é armazenado naquela pasta (my_data); independentemente de essa pasta estar armazenada em sua unidade local ou em seu armazenamento na nuvem ou em um servidor http público. Você não deve especificar caminhos absolutos no arquivo MLTable.

Como criar o ativo de dados

A seguir, mostramos como criar um ativo de dados mltable. O path pode ser qualquer um dos formatos de caminho suportados descritos acima.

Criar um YAML arquivo (<file-name>.yml):

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json

# path must point to **folder** containing MLTable artifact (MLTable file + data
# Supported paths include:
# local: ./<path>
# blob:  wasbs://<containername>@<accountname>.blob.core.windows.net/<path>/
# ADLS gen2: abfss://<file_system>@<account_name>.dfs.core.windows.net/<path>/
# Datastore: azureml://datastores/<data_store_name>/paths/<path>

type: mltable
name: <name_of_data>
description: <description goes here>
path: <path>

Observação

O caminho aponta para a pasta que contém o artefato MLTable.

Em seguida, crie o ativo de dados usando a CLI:

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

Próximas etapas