Condividi tramite


Pianificare processi di importazione dati (anteprima)

SI APPLICA A:Estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)Python SDK azure-ai-ml v2 (corrente)

Questo articolo spiega come pianificare importazioni di dati programmaticamente e usare l'interfaccia utente di pianificazione per eseguire la stessa operazione. È possibile creare una pianificazione in base al tempo trascorso. Le pianificazioni basate sul tempo possono gestire le attività di routine, ad esempio le normali importazioni di dati per mantenerle aggiornate. Dopo aver appreso come creare pianificazioni, si apprenderà come recuperarle, aggiornarle e disattivarle tramite l’interfaccia della riga di comando, l’SDK e le risorse dell'interfaccia utente di Studio.

Prerequisiti

  • L’uso di Azure Machine Learning richiede una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning.

Pianificare un’importazione dati

Per l’importazione di dati su base ricorrente, è necessario creare una pianificazione. Una Schedule associa un'azione di importazione dati con un trigger. Il trigger può essere cron, che usa un'espressione cron per descrivere il ritardo tra le esecuzioni o un oggetto recurrence, che specifica la frequenza per attivare un processo. In ogni caso, occorre prima creare una definizione di importazione dati. È possibile scegliere un'importazione dati esistente o definita inline. Per altre informazioni, vedere Creare un'importazione di dati nell'interfaccia della riga di comando, nell'SDK e nell'interfaccia utente.

Creare una programmazione

Creare una pianificazione basata sul tempo con il modello di ricorrenza

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

YAML: pianificare l'importazione dati con un criterio di ricorrenza

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: simple_recurrence_import_schedule
display_name: Simple recurrence import schedule
description: a simple hourly recurrence import schedule

trigger:
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 #every day
  schedule:
    hours: [4,5,10,11,12]
    minutes: [0,30]
  start_time: "2022-07-10T10:00:00" # optional - default will be schedule creation time
  time_zone: "Pacific Standard Time" # optional - default will be UTC

import_data: ./my-snowflake-import-data.yaml

YAML: pianificare una definizione di importazione dati inline con un criterio di ricorrenza nell'archivio dati gestito

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: inline_recurrence_import_schedule
display_name: Inline recurrence import schedule
description: an inline hourly recurrence import schedule

trigger:
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 #every day
  schedule:
    hours: [4,5,10,11,12]
    minutes: [0,30]
  start_time: "2022-07-10T10:00:00" # optional - default will be schedule creation time
  time_zone: "Pacific Standard Time" # optional - default will be UTC

import_data:
  type: mltable
  name: my_snowflake_ds
  path: azureml://datastores/workspacemanagedstore
  source:
    type: database
    query: select * from TPCH_SF1.REGION
    connection: azureml:my_snowflake_connection

Un trigger contiene queste proprietà:

  • (Obbligatorio) type specifica il tipo di pianificazione, recurrence o cron. La sezione seguente contiene altre informazioni.

Eseguire, quindi, questo comando nell'interfaccia della riga di comando:

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

Nota

Queste proprietà si applicano solo all’interfaccia della riga di comando e all’SDK:

  • (Obbligatorio) frequency specifica l'unità di tempo che descrive la frequenza con cui viene attivata la pianificazione. Può avere valori

    • minute
    • hour
    • day
    • week
    • month
  • (Obbligatorio) interval specifica la frequenza di attivazione della pianificazione in base alla frequenza, vale a dire il numero di unità di tempo di attesa fino alla successiva attivazione della pianificazione.

  • (Facoltativo) schedule definisce il criterio di ricorrenza contenente hours, minutes e weekdays.

    • Quando frequency è uguale a day, un criterio può specificare hours e minutes.
    • Quando frequency è uguale a week e month, un criterio può specificare hours, minutes e weekdays.
    • hours deve essere un numero intero o un elenco, compreso tra 0 e 23.
    • minutes deve essere un numero intero o un elenco, compreso tra 0 e 59.
    • weekdays è una stringa o un elenco compreso tra monday e sunday.
    • Se schedule viene omesso, i processi vengono attivati in base alla logica di start_time, frequency e interval.
  • (Facoltativo) start_time descrive la data e l'ora di inizio, con un fuso orario. Se start_time viene omesso, start_time equivale all’ora di creazione del processo. Per un'ora di inizio nel passato, il primo processo viene eseguito in occasione dell’ora di esecuzione successiva calcolata.

  • (Facoltativo) end_time descrive la data e l'ora di fine, con un fuso orario. Se end_time viene omesso, la pianificazione continua ad attivare i processi fino a quando la pianificazione viene disabilitata manualmente.

  • (Facoltativo) time_zone specifica il fuso orario della ricorrenza. Se viene omesso, il fuso orario predefinito è UTC. Per altre informazioni sui valori del fuso orario, vedere appendice per i valori del fuso orario.

Creare una pianificazione basata sul tempo con l'espressione cron

YAML: pianificare un'importazione dati con un’espressione cron

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

YAML: pianificare un'importazione dati con un’espressione cron (anteprima)

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: simple_cron_import_schedule
display_name: Simple cron import schedule
description: a simple hourly cron import schedule

trigger:
  type: cron
  expression: "0 * * * *"
  start_time: "2022-07-10T10:00:00" # optional - default will be schedule creation time
  time_zone: "Pacific Standard Time" # optional - default will be UTC

import_data: ./my-snowflake-import-data.yaml

YAML: pianificare una definizione di importazione dati inline con un’espressione cron (anteprima)

$schema: https://azuremlschemas.azureedge.net/latest/schedule.schema.json
name: inline_cron_import_schedule
display_name: Inline cron import schedule
description: an inline hourly cron import schedule

trigger:
  type: cron
  expression: "0 * * * *"
  start_time: "2022-07-10T10:00:00" # optional - default will be schedule creation time
  time_zone: "Pacific Standard Time" # optional - default will be UTC

import_data:
  type: mltable
  name: my_snowflake_ds
  path: azureml://datastores/workspaceblobstore/paths/snowflake/${{name}}
  source:
    type: database
    query: select * from TPCH_SF1.REGION
    connection: azureml:my_snowflake_connection

La sezione trigger definisce i dettagli della pianificazione e contiene queste proprietà:

  • (Obbligatorio) type specifica il tipo di pianificazione cron.
> az ml schedule create -f <file-name>.yml

L'elenco continua qui:

  • (Obbligatorio) expression usa un'espressione crontab standard per esprimere una pianificazione ricorrente. Una singola espressione è costituita da cinque campi delimitati da spazi:

    MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK

    • Un singolo carattere jolly (*), che copre tutti i valori per il campo. Un *, in giorni, indica tutti i giorni di un mese (che varia con mese e anno).

    • expression: "15 16 * * 1" nell'esempio precedente indica le 16:15 di ogni lunedì.

    • In questa tabella sono elencati i valori validi per ogni campo:

      Campo Intervallo Commento
      MINUTES 0-59 -
      HOURS 0-23 -
      DAYS - Non supportato. Il valore viene ignorato e considerato come *.
      MONTHS - Non supportato. Il valore viene ignorato e considerato come *.
      DAYS-OF-WEEK 0-6 Zero (0) indica la domenica. Sono accettati anche i nomi dei giorni.
    • Per altre informazioni sulle espressioni crontab, visitare la risorsa wiki dell'espressione Crontab su GitHub.

    Importante

    DAYS e MONTH non sono supportati. Se si passa uno di questi valori, verrà ignorato e considerato come *.

  • (Facoltativo) start_time specifica la data e l'ora di inizio con il fuso orario della pianificazione. Ad esempio, start_time: "2022-05-10T10:15:00-04:00" indica che la pianificazione inizia dalle 10:15:00 del 10 maggio 2022 nel fuso orario UTC-4. Se start_time viene omesso, start_time è uguale all'ora di creazione della pianificazione. Per un'ora di inizio nel passato, il primo processo viene eseguito in occasione dell’ora di esecuzione successiva calcolata.

  • (Facoltativo) end_time descrive la data e l'ora di fine, con un fuso orario. Se end_time viene omesso, la pianificazione continua ad attivare i processi fino a quando la pianificazione viene disabilitata manualmente.

  • (Facoltativo) time_zone specifica il fuso orario dell’espressione. Se time_zone viene omesso, il fuso orario predefinito è UTC. Per altre informazioni sui valori del fuso orario, vedere appendice per i valori del fuso orario.

Limitazioni :

  • Attualmente, la pianificazione di Azure Machine Learning v2 non supporta trigger basati su eventi.
  • Usare l’SDK o l’interfaccia della riga di comando v2 di Azure Machine Learning per specificare un modello di ricorrenza complesso contenente più timestamp di attivazione. L'interfaccia utente visualizza solo il criterio complesso e non supporta la modifica.
  • Se si imposta la ricorrenza come il 31° giorno di ogni mese, la pianificazione non attiverà i processi nei mesi con meno di 31 giorni.

Elencare le pianificazioni in un'area di lavoro

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

az ml schedule list

Controllare i dettagli della pianificazione

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

az ml schedule show -n simple_cron_data_import_schedule

Aggiornare una pianificazione

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

az ml schedule update -n simple_cron_data_import_schedule  --set description="new description" --no-wait

Nota

Per aggiornare più dei soli tag/descrizione, è consigliabile usare az ml schedule create --file update_schedule.yml

Disabilitare una pianificazione

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

az ml schedule disable -n simple_cron_data_import_schedule --no-wait

Abilitare una pianificazione

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

az ml schedule enable -n simple_cron_data_import_schedule --no-wait

Eliminare una pianificazione

Importante

Per eliminare una pianificazione, occorre prima disabilitarla. L'eliminazione è un'azione permanente e irreversibile. Una volta eliminata una pianificazione, non è possibile accedervi o recuperarla.

SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

az ml schedule delete -n simple_cron_data_import_schedule

Supporto del controllo degli accessi in base al ruolo (RBAC)

Le pianificazioni generalmente vengono usate per la produzione. Per evitare problemi, potrebbe essere opportuno che gli amministratori dell'area di lavoro limitino le autorizzazioni di creazione e gestione delle pianificazioni all'interno di un'area di lavoro.

Attualmente sono disponibili tre regole di azione correlate alle pianificazioni ed è possibile configurarle nel portale di Azure. Per altre informazioni, visitare Come gestire l'accesso a un'area di lavoro di Azure Machine Learning.

Azione Descrizione Regola
Lettura Ottenere ed elencare le pianificazioni nell'area di lavoro di Machine Learning Microsoft.MachineLearningServices/workspaces/schedules/read
Scrittura Creare, aggiornare, disabilitare e abilitare pianificazioni nell'area di lavoro di Machine Learning Microsoft.MachineLearningServices/workspaces/schedules/write
Elimina Eliminare una pianificazione nell’area di lavoro di Machine Learning Microsoft.MachineLearningServices/workspaces/schedules/delete

Passaggi successivi