Planowanie zadań importowania danych (wersja zapoznawcza)
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
W tym artykule dowiesz się, jak programowo zaplanować importowanie danych przy użyciu interfejsu użytkownika harmonogramu, aby to zrobić. Harmonogram można utworzyć na podstawie czasu, który upłynął. Harmonogramy oparte na czasie mogą obsługiwać rutynowe zadania — na przykład regularne importowanie danych w celu zapewnienia ich aktualności. Po zapoznaniu się z tworzeniem harmonogramów dowiesz się, jak pobierać, aktualizować i dezaktywować je za pomocą interfejsu wiersza polecenia, zestawu SDK i zasobów interfejsu użytkownika programu Studio.
Wymagania wstępne
- Do korzystania z usługi Azure Machine Learning potrzebna jest subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning już dziś.
Zainstaluj interfejs wiersza polecenia platformy
ml
Azure i rozszerzenie. Wykonaj kroki instalacji opisane w temacie Instalowanie, konfigurowanie i używanie interfejsu wiersza polecenia (wersja 2).Utwórz obszar roboczy usługi Azure Machine Learning, jeśli go nie masz. Aby uzyskać informacje na temat tworzenia obszaru roboczego, zobacz Instalowanie, konfigurowanie i używanie interfejsu wiersza polecenia (wersja 2).
Planowanie importowania danych
Aby importować dane cyklicznie, należy utworzyć harmonogram. Element Schedule
kojarzy akcję importowania danych z wyzwalaczem. Wyzwalacz może mieć cron
wartość , która używa wyrażenia cron do opisania opóźnienia między przebiegami lub recurrence
, który określa częstotliwość wyzwalania zadania. W każdym przypadku należy najpierw utworzyć definicję danych importu. W tym celu działa istniejący import danych lub import danych zdefiniowany w tekście. Aby uzyskać więcej informacji, odwiedź stronę Tworzenie importu danych w interfejsie wiersza polecenia, zestawie SDK i interfejsie użytkownika.
Tworzenie harmonogramu
Tworzenie harmonogramu opartego na czasie za pomocą wzorca cyklu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
YAML: Planowanie importowania danych ze wzorcem cyklu
$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: Planowanie wbudowanej definicji importowania danych ze wzorcem cyklu w zarządzanym magazynie danych
$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
Obiekt trigger
zawiera następujące właściwości:
- (Wymagane)
type
określa typ harmonogramu lubrecurrence
cron
. Poniższa sekcja zawiera więcej informacji.
Następnie uruchom to polecenie w interfejsie wiersza polecenia:
> az ml schedule create -f <file-name>.yml
Uwaga
Te właściwości dotyczą interfejsu wiersza polecenia i zestawu SDK:
(Wymagane)
frequency
określa jednostkę czasu, która opisuje częstotliwość uruchamiania harmonogramu. Może mieć wartościminute
hour
day
week
month
(Wymagane)
interval
Określa, jak często harmonogram jest uruchamiany na podstawie częstotliwości, która jest liczbą jednostek czasu, które mają czekać, aż harmonogram zostanie ponownie wyzwolony.(Opcjonalnie)
schedule
definiuje wzorzec cyklu zawierającyhours
,minutes
iweekdays
.- Gdy
frequency
równaday
się , wzorzec może określaćhours
iminutes
. - Gdy
frequency
równaweek
się imonth
, wzorzec może określaćhours
wartości ,minutes
iweekdays
. hours
powinna być liczbą całkowitą lub listą z zakresu od 0 do 23.minutes
powinna być liczbą całkowitą lub listą z zakresu od 0 do 59.weekdays
ciąg lub lista z zakresu odmonday
dosunday
.- Jeśli
schedule
zostanie pominięty, zadania wyzwalają wyzwalane zgodnie z logiką parametrówstart_time
ifrequency
interval
.
- Gdy
(Opcjonalnie)
start_time
opisuje datę i godzinę rozpoczęcia ze strefą czasową. Jeślistart_time
zostanie pominięty, start_time równa się czasowi tworzenia zadania. W ciągu ostatniego czasu rozpoczęcia pierwsze zadanie jest uruchamiane w następnym obliczonym czasie wykonywania.(Opcjonalnie)
end_time
opisuje datę i godzinę zakończenia ze strefą czasową. Jeśliend_time
zostanie pominięty, harmonogram będzie nadal wyzwalał zadania do momentu ręcznego wyłączenia harmonogramu.(Opcjonalnie)
time_zone
określa strefę czasową cyklu. W przypadku pominięcia domyślna strefa czasowa to UTC. Aby uzyskać więcej informacji na temat wartości strefy czasowej, odwiedź dodatek dotyczący wartości strefy czasowej.
Tworzenie harmonogramu opartego na czasie za pomocą wyrażenia cron
YAML: Planowanie importowania danych za pomocą wyrażenia cron
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
YAML: Planowanie importowania danych za pomocą wyrażenia cron (wersja zapoznawcza)
$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: Planowanie wbudowanej definicji importu danych za pomocą wyrażenia cron (wersja zapoznawcza)
$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
Sekcja trigger
definiuje szczegóły harmonogramu i zawiera następujące właściwości:
- (Wymagane)
type
określacron
typ harmonogramu.
> az ml schedule create -f <file-name>.yml
Lista będzie kontynuowana tutaj:
(Wymagane)
expression
Używa standardowego wyrażenia crontab w celu wyrażenia harmonogramu cyklicznego. Pojedyncze wyrażenie składa się z pięciu pól rozdzielanych spacjami:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
Pojedyncza symbol wieloznaczny (
*
), która obejmuje wszystkie wartości pola. Wartość*
, w dniach oznacza wszystkie dni miesiąca (które różnią się w zależności od miesiąca i roku).W
expression: "15 16 * * 1"
powyższym przykładzie oznacza 16:15 w każdy poniedziałek.W tej tabeli wymieniono prawidłowe wartości dla każdego pola:
Pole Zakres Komentarz MINUTES
0-59 - HOURS
0-23 - DAYS
- Nieobsługiwane. Wartość jest ignorowana i traktowana jako *
.MONTHS
- Nieobsługiwane. Wartość jest ignorowana i traktowana jako *
.DAYS-OF-WEEK
0-6 Zero (0) oznacza niedzielę. Nazwy dni również zostały zaakceptowane. Aby uzyskać więcej informacji na temat wyrażeń crontab, odwiedź zasób wiki Crontab Expression w witrynie GitHub.
Ważne
DAYS
iMONTH
nie są obsługiwane. Jeśli przekażesz jedną z tych wartości, zostanie ona zignorowana i traktowana jako*
.(Opcjonalnie)
start_time
określa datę i godzinę rozpoczęcia ze strefą czasową harmonogramu. Na przykład oznacza,start_time: "2022-05-10T10:15:00-04:00"
że harmonogram rozpoczyna się od godziny 10:15:00 w dniu 2022-05-10 w strefie czasowej UTC-4. Jeślistart_time
zostanie pominięty, wartośćstart_time
jest równa czasowi tworzenia harmonogramu. W ciągu ostatniego czasu rozpoczęcia pierwsze zadanie jest uruchamiane w następnym obliczonym czasie wykonywania.(Opcjonalnie)
end_time
Opisuje datę zakończenia i godzinę ze strefą czasową. Jeśliend_time
zostanie pominięty, harmonogram będzie nadal wyzwalał zadania do momentu ręcznego wyłączenia harmonogramu.(Opcjonalnie)
time_zone
określa strefę czasową wyrażenia. W przypadkutime_zone
pominięcia strefa czasowa jest domyślnie utc. Aby uzyskać więcej informacji na temat wartości strefy czasowej, odwiedź dodatek dotyczący wartości strefy czasowej.
Ograniczenia:
- Obecnie planowanie usługi Azure Machine Learning w wersji 2 nie obsługuje wyzwalaczy opartych na zdarzeniach.
- Użyj zestawu SDK/interfejsu wiersza polecenia usługi Azure Machine Learning w wersji 2, aby określić złożony wzorzec cyklu zawierający wiele sygnatur czasowych wyzwalacza. Interfejs użytkownika wyświetla tylko złożony wzorzec i nie obsługuje edycji.
- Jeśli ustawisz cykl jako 31 dzień każdego miesiąca, harmonogram nie będzie wyzwalał zadań w miesiącach z krótszym niż 31 dni.
Wyświetlanie listy harmonogramów w obszarze roboczym
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
az ml schedule list
Sprawdzanie szczegółów harmonogramu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
az ml schedule show -n simple_cron_data_import_schedule
Aktualizowanie harmonogramu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
az ml schedule update -n simple_cron_data_import_schedule --set description="new description" --no-wait
Uwaga
Aby zaktualizować więcej niż tylko tagi/opis, zalecamy użycie polecenia az ml schedule create --file update_schedule.yml
Wyłączanie harmonogramu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
az ml schedule disable -n simple_cron_data_import_schedule --no-wait
Włączanie harmonogramu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
az ml schedule enable -n simple_cron_data_import_schedule --no-wait
Usuwanie harmonogramu
Ważne
Przed usunięciem należy wyłączyć harmonogram. Usunięcie jest trwałą, nieodwracalną akcją. Po usunięciu harmonogramu nigdy nie można uzyskać dostępu do niego ani go odzyskać.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
az ml schedule delete -n simple_cron_data_import_schedule
Obsługa kontroli dostępu opartej na rolach (kontrola dostępu oparta na rolach)
Harmonogramy są zwykle używane w środowisku produkcyjnym. Aby zapobiec problemom, administratorzy obszaru roboczego mogą chcieć ograniczyć uprawnienia do tworzenia harmonogramu i zarządzania w obszarze roboczym.
Obecnie istnieją trzy reguły akcji związane z harmonogramami i można je skonfigurować w witrynie Azure Portal. Aby uzyskać więcej informacji, odwiedź stronę zarządzania dostępem do obszaru roboczego usługi Azure Machine Learning.
Akcja | opis | Reguła |
---|---|---|
Przeczytaj | Pobieranie i wyświetlanie listy harmonogramów w obszarze roboczym usługi Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/read |
Write | Tworzenie, aktualizowanie, wyłączanie i włączanie harmonogramów w obszarze roboczym usługi Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/write |
Delete | Usuwanie harmonogramu w obszarze roboczym usługi Machine Learning | Microsoft.MachineLearningServices/workspaces/schedules/delete |
Następne kroki
- Dowiedz się więcej na temat schematu importowania danych interfejsu wiersza polecenia (wersja 2).
- Dowiedz się, jak zarządzać zaimportowanymi zasobami danych.