Share via


Pianificare processi di importazione dati (anteprima)

SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)SDK Python 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. Per gestire attività di routine, ad esempio l’importazione regolare di dati per mantenerli aggiornati, è possibile usare pianificazioni basate sul tempo. Dopo aver appreso come creare pianificazioni, si apprenderà come recuperarle, aggiornarle e disattivarle tramite l’interfaccia della riga di comando, l’SDK e l’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 e un trigger. Il trigger può essere cron, che usa un’espressione cron per descrivere l'attesa tra le esecuzioni o recurrence, che specifica la frequenza di attivazione del processo. In ogni caso, occorre prima creare una definizione di importazione dati. È possibile scegliere un'importazione dati esistente o definita inline. Fare riferimento a Creare un'importazione 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

trigger contiene le proprietà seguenti:

  • (Obbligatorio)type specifica il tipo di pianificazione, recurrence o cron. Per maggiori dettagli, vedere la sezione seguente.

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. I valori possono essere minute, hour, day, week o 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 l’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 le proprietà seguenti:

  • (Obbligatorio)type specifica che 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ì.

    • Nella tabella successiva 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, vedere il 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 viene omesso, il fuso orario predefinito è UTC. Vedere l’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 non solo tag e 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 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, vedere 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