Udostępnij za pośrednictwem


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ś.

Planowanie importowania danych

Aby importować dane cyklicznie, należy utworzyć harmonogram. Element Schedule kojarzy akcję importowania danych z wyzwalaczem. Wyzwalacz może mieć cronwartość , 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 lub recurrence 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ści

    • minute
    • 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ący hours, minutesi weekdays.

    • Gdy frequency równa daysię , wzorzec może określać hours i minutes.
    • Gdy frequency równa week się i month, wzorzec może określać hourswartości , minutes i weekdays.
    • 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 od monday do sunday.
    • Jeśli schedule zostanie pominięty, zadania wyzwalają wyzwalane zgodnie z logiką parametrów start_timei frequency interval.
  • (Opcjonalnie) start_time opisuje datę i godzinę rozpoczęcia ze strefą czasową. Jeśli start_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śli end_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śla cron 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 i MONTH 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śli start_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śli end_time zostanie pominięty, harmonogram będzie nadal wyzwalał zadania do momentu ręcznego wyłączenia harmonogramu.

  • (Opcjonalnie) time_zoneokreśla strefę czasową wyrażenia. W przypadku time_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