Partilhar via


Esquema YAML de especificação do conjunto de recursos CLI (v2)

APLICA-SE A: Azure CLI ml extension v2 (atual)

Nota

A sintaxe YAML detalhada neste documento é baseada no esquema JSON para a versão mais recente da extensão ML CLI v2. Esta sintaxe é garantida apenas para funcionar com a versão mais recente da extensão ML CLI v2. Você pode encontrar os esquemas para versões de extensão mais antigas em https://azuremlschemasprod.azureedge.net/.

Sintaxe YAML

Chave Tipo Descrição Valores permitidos Valor predefinido
$schema corda O esquema YAML. Se você usar a extensão VS Code do Aprendizado de Máquina do Azure para criar o arquivo YAML, incluindo $schema na parte superior do arquivo permitirá que você invoque o esquema e a conclusão de recursos.
origem objeto Obrigatório. Fonte de dados para conjunto de recursos.
fonte.type corda Obrigatório. Tipo de fonte de dados. mltable, csv, parquet, deltaTable
fonte.caminho corda Obrigatório. Caminho da fonte de dados. Pode ser um caminho para um único arquivo, uma pasta ou caminho com curinga. Somente o armazenamento do Azure e o esquema ABFS são suportados.
source.timestamp_column objeto Obrigatório. Coluna de carimbo de data/hora nos dados de origem.
source.timestamp_column.name corda Obrigatório. O nome da coluna de carimbo de data/hora nos dados de origem.
source.timestamp_column.format corda O formato da coluna de carimbo de data/hora. Se não for fornecido, use o Spark para inferir o valor do carimbo de data/hora.
source.source_delay objeto O atraso dos dados de origem.
source.source_delay.dias número inteiro O número de dias de atraso dos dados de origem.
source.source_delay.horas número inteiro O número de horas de atraso dos dados de origem.
source.source_delay.minutos número inteiro O número de minutos do atraso dos dados de origem.
feature_transformation_code objeto A pasta onde a definição do código de transformação está localizada.
feature_transformation_code.path corda O caminho relativo dentro da pasta spec do conjunto de recursos para localizar a pasta de código do transformador.
feature_transformation_code.transformer_class corda Esta é uma classe de transformador de aprendizado de máquina Spark no formato de {module_name}.{transformer_class_name}. O sistema espera encontrar um {module_name}.py arquivo sob o feature_transformation_code.path. O {transformer_class_name} é definido neste arquivo python.
funcionalidades Lista de objetos Obrigatório. Os recursos para este conjunto de recursos.
features.name corda Obrigatório. O nome do recurso.
características.type corda Obrigatório. O tipo de dados do recurso. string, inteiro, longo, float, duplo, binário, datetime, booleano
index_columns Lista de objetos Obrigatório. As colunas de índice para os recursos. Os dados de origem devem conter estas colunas.
index_columns.nome corda Obrigatório. O nome da coluna de índice.
index_columns.type corda Obrigatório. O tipo de dados da coluna de índice. string, inteiro, longo, float, duplo, binário, datetime, booleano
source_lookback objeto A janela de tempo de retrospetiva para os dados de origem.
source_lookback.dias número inteiro O número de dias da fonte olha para trás.
source_lookback.horas número inteiro O número de horas da fonte olha para trás.
source_lookback.minutos número inteiro O número de minutos da fonte olha para trás.
temporal_join_lookback objeto A janela de tempo de retrospetiva ao fazer a junção point-of-time.
temporal_join_lookback.dias número inteiro O número de dias da retrospetiva da junção temporal.
temporal_join_lookback.horas número inteiro O número de horas da retrospetiva da junção temporal.
temporal_join_lookback.minutos número inteiro O número de minutos da retrospetiva da junção temporal.

Exemplos

Exemplos estão disponíveis no repositório GitHub de exemplos. Alguns exemplos comuns são mostrados abaixo.

Exemplo de YAML sem código de transformação

$schema: http://azureml/sdk-2-0/FeatureSetSpec.json
source:
  type: deltatable
  path: abfs://{container}@{storage}.dfs.core.windows.net/top_folder/transactions
  timestamp_column: # name of the column representing the timestamp.
    name: timestamp
features: # schema and properties of features generated by the feature_transformation_code
  - name: accountCountry
    type: string
    description: country of the account
  - name: numPaymentRejects1dPerUser
    type: double
    description: upper limit of number of payment rejects per day on the account
  - name: accountAge
    type: double
    description: age of the account
index_columns:
  - name: accountID
    type: string

Exemplo de YAML com código de transformação

$schema: http://azureml/sdk-2-0/FeatureSetSpec.json

source:
  type: parquet
  path: abfs://file_system@account_name.dfs.core.windows.net/datasources/transactions-source/*.parquet
  timestamp_column: # name of the column representing the timestamp.
    name: timestamp
  source_delay:
    days: 0
    hours: 3
    minutes: 0
feature_transformation_code:
  path: ./code
  transformer_class: transaction_transform.TrsactionFeatureTransformer
features:
  - name: transaction_7d_count
    type: long
  - name: transaction_amount_7d_sum
    type: double
  - name: transaction_amount_7d_avg
    type: double
  - name: transaction_3d_count
    type: long
  - name: transaction_amount_3d_sum
    type: double
  - name: transaction_amount_3d_avg
    type: double
index_columns:
  - name: accountID
    type: string
source_lookback:
  days: 7
  hours: 0
  minutes: 0
temporal_join_lookback:
  days: 1
  hours: 0
  minutes: 0

A especificação do conjunto de recursos acima também pode ser criada usando azureml-feautrestore SDK.

transactions_featureset_code_path = "<local path to the code folder>"

transactions_featureset_spec = create_feature_set_spec(
    source = FeatureSource(
        type = SourceType.parquet,
        path = "wasbs://data@azuremlexampledata.blob.core.windows.net/feature-store-prp/datasources/transactions-source/*.parquet",
        timestamp_column = TimestampColumn(name = "timestamp"),
        source_delay = DateTimeOffset(days = 0, hours = 3, minutes = 0)
    ),
    transformation_code = TransformationCode(
        path = transactions_featureset_code_path,
        transformer_class = "transaction_transform.TransactionFeatureTransformer"
    ),
    index_columns = [
        Column(name = "accountID", type = ColumnType.string)
    ],
    source_lookback = DateTimeOffset(days = 7, hours = 0, minutes = 0),
    temporal_join_lookback = DateTimeOffset(days = 1, hours = 0, minutes = 0),
    infer_schema = True,
)

Próximos passos