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 i użyć interfejsu użytkownika harmonogramu, aby wykonać to samo. Harmonogram można utworzyć na podstawie czasu, który upłynął. Harmonogramy oparte na czasie mogą służyć do dbania o rutynowe zadania, takie jak 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 interfejsu użytkownika programu Studio.

Wymagania wstępne

  • Aby korzystać z usługi Azure Machine Edukacja, musisz mieć subskrypcję 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 Edukacja dzisiaj.

Planowanie importowania danych

Aby importować dane cyklicznie, należy utworzyć harmonogram. Element Schedule kojarzy akcję importowania danych i wyzwalacz. Wyzwalacz może cron użyć wyrażenia cron do opisania oczekiwania między przebiegami lub recurrence określenia częstotliwości wyzwalania zadania. W każdym przypadku należy najpierw zdefiniować definicję danych importu. W tym celu działa istniejący import danych lub import danych zdefiniowany w tekście. Zobacz 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 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

trigger zawiera następujące właściwości:

  • (Wymagane)type określa typ harmonogramu lub recurrencecron. Aby uzyskać więcej informacji, zobacz następującą sekcję.

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, daylub weekmonth.

  • (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 są wyzwalane zgodnie z logiką parametrów start_timei frequencyinterval.
  • (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 dowiedzieć się więcej o wartościach strefy czasowej, zobacz 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 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 typ harmonogramu to cron.
> 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 następnej 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 dowiedzieć się więcej na temat wyrażeń crontab, zobacz witrynę wiki języka 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 pominięcia strefa czasowa jest domyślnie utc. Zobacz dodatek, aby uzyskać informacje o wartościach strefy czasowej.

Ograniczenia:

  • Obecnie planowanie usługi Azure Machine Edukacja w wersji 2 nie obsługuje wyzwalaczy opartych na zdarzeniach.
  • Użyj zestawu AZURE Machine Edukacja SDK/interfejsu wiersza polecenia 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 w wersji 2 (bieżąca)

az ml schedule list

Sprawdzanie szczegółów harmonogramu

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (bieżąca)

az ml schedule show -n simple_cron_data_import_schedule

Aktualizowanie harmonogramu

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure 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, zaleca się użycie polecenia az ml schedule create --file update_schedule.yml

Wyłączanie harmonogramu

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure 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 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 niemożliwą do odzyskania akcją. Po usunięciu harmonogramu nigdy nie można uzyskać dostępu do niego ani go odzyskać.

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure 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. Zobacz, jak zarządzać dostępem do obszaru roboczego usługi Azure Machine Edukacja. Aby dowiedzieć się więcej.

Czynność opis Reguła
Odczyt Pobieranie i wyświetlanie listy harmonogramów w obszarze roboczym usługi Machine Edukacja Microsoft.Machine Edukacja Services/workspaces/schedules/read
Zapis Tworzenie, aktualizowanie, wyłączanie i włączanie harmonogramów w obszarze roboczym usługi Machine Edukacja Microsoft.Machine Edukacja Services/workspaces/schedules/write
Delete Usuwanie harmonogramu w obszarze roboczym Edukacja maszyny Microsoft.Machine Edukacja Services/workspaces/schedules/delete

Następne kroki