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:
Uma assinatura do Azure. Se você não tiver uma, crie uma conta gratuita antes de começar. Experimente a versão gratuita ou paga do Azure Machine Learning.
Um Workspace do Azure Machine Learning. Criar recursos do workspace.
O SDK/CLI do Azure Machine Learning e o pacote MLTable instalados (
pip install mltable
).
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 path
parâ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
euri_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, useuri_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 mltable
mecanismo 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