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.
Installare l'interfaccia della riga di comando di Azure e l'estensione
ml
. Effettuare la procedura di installazione riportata in Installare, configurare e usare l'interfaccia della riga di comando (v2).Se non è presente, creare un'area di lavoro di Azure Machine Learning. Per la creazione di un’area di lavoro, vedere Installare, configurare e usare l'interfaccia della riga di comando (v2).
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
ocron
. 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 valoriminute
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 contenentehours
,minutes
eweekdays
.- Quando
frequency
è uguale aday
, un criterio può specificarehours
eminutes
. - Quando
frequency
è uguale aweek
emonth
, un criterio può specificarehours
,minutes
eweekdays
. 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 tramonday
esunday
.- Se
schedule
viene omesso, i processi vengono attivati in base alla logica distart_time
,frequency
einterval
.
- Quando
(Facoltativo)
start_time
descrive la data e l'ora di inizio, con un fuso orario. Sestart_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. Seend_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 pianificazionecron
.
> 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
eMONTH
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. Sestart_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. Seend_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. Setime_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
- Altre informazioni sullo schema YAML di pianificazione di importazione dati dell’interfaccia della riga di comando (v2).
- Informazioni su come gestire gli asset di dati importati.