Dela via


Schemalägga dataimportjobb (förhandsversion)

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

I den här artikeln får du lära dig hur du programmatiskt schemalägger dataimporter med hjälp av schemagränssnittet för att göra det. Du kan skapa ett schema baserat på förfluten tid. Tidsbaserade scheman kan hantera rutinuppgifter – till exempel regelbunden dataimport för att hålla dem uppdaterade. När du har lärt dig hur du skapar scheman får du lära dig hur du hämtar, uppdaterar och inaktiverar dem via CLI-, SDK- och studiogränssnittsresurser.

Förutsättningar

Schemalägga dataimport

Om du vill importera data regelbundet måste du skapa ett schema. En Schedule associerar en dataimportåtgärd med en utlösare. Utlösaren kan antingen vara cron, som använder ett cron-uttryck för att beskriva fördröjningen mellan körningar eller en recurrence, som anger frekvensen för att utlösa ett jobb. I varje fall måste du först skapa en importdatadefinition. En befintlig dataimport, eller en dataimport som har definierats infogat, fungerar för detta. Mer information finns i Skapa en dataimport i CLI, SDK och användargränssnitt.

Skapa en tidsplan

Skapa ett tidsbaserat schema med upprepningsmönster

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

YAML: Schema för dataimport med upprepningsmönster

$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: Schemalägg för dataimportdefinition infogat med upprepningsmönster i hanterat datalager

$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

A trigger innehåller följande egenskaper:

  • (Krävs) type anger schematypen, antingen recurrence eller cron. I följande avsnitt finns mer information.

Kör sedan det här kommandot i CLI:

> az ml schedule create -f <file-name>.yml

Kommentar

Dessa egenskaper gäller för CLI och SDK:

  • (Krävs) frequency anger den tidsenhet som beskriver hur ofta schemat utlöses. Kan ha värden

    • minute
    • hour
    • day
    • week
    • month
  • (Krävs) interval anger hur ofta schemat utlöses baserat på frekvensen, vilket är antalet tidsenheter som ska vänta tills schemat utlöses igen.

  • (Valfritt) schedule definierar upprepningsmönstret, som innehåller hours, minutesoch weekdays.

    • När frequency är daylika med kan ett mönster ange hours och minutes.
    • När frequency är week lika med och monthkan ett mönster ange hours, minutes och weekdays.
    • hours vara ett heltal eller en lista mellan 0 och 23.
    • minutes bör vara ett heltal eller en lista mellan 0 och 59.
    • weekdays en sträng eller lista som sträcker sig från monday till sunday.
    • Om schedule utelämnas utlöser jobben eld enligt logiken start_timei , frequency och interval.
  • (Valfritt) start_time beskriver startdatum och tid med en tidszon. Om start_time utelämnas är start_time lika med jobbskapandetiden. För en tidigare starttid körs det första jobbet vid nästa beräknade körningstid.

  • (Valfritt) end_time beskriver slutdatum och tid med en tidszon. Om end_time utelämnas fortsätter schemat att utlösa jobb tills schemat inaktiveras manuellt.

  • (Valfritt) time_zone anger tidszonen för upprepningen. Om den utelämnas är standardtidszonen UTC. Mer information om tidszonsvärden finns i bilaga för tidszonsvärden.

Skapa ett tidsbaserat schema med cron-uttryck

YAML: Schemalägg för en dataimport med cron-uttryck

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

YAML: Schemalägg för dataimport med cron-uttryck (förhandsversion)

$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: Schemalägg för dataimportdefinition infogat med cron-uttryck (förhandsversion)

$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

Avsnittet trigger definierar schemainformationen och innehåller följande egenskaper:

  • (Krävs) type anger cron schematypen.
> az ml schedule create -f <file-name>.yml

Listan fortsätter här:

  • (Krävs) expression använder ett standarduttryck för crontab för att uttrycka ett återkommande schema. Ett enda uttryck består av fem blankstegsavgränsade fält:

    MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK

    • Ett enda jokertecken (*), som täcker alla värden för fältet. En *, i dagar, innebär alla dagar i månaden (som varierar med månad och år).

    • I expression: "15 16 * * 1" exemplet ovan avses 16:15 varje måndag.

    • I den här tabellen visas giltiga värden för varje fält:

      Fält Intervall Kommentar
      MINUTES 0-59 -
      HOURS 0-23 -
      DAYS - Stöds ej. Värdet ignoreras och behandlas som *.
      MONTHS - Stöds ej. Värdet ignoreras och behandlas som *.
      DAYS-OF-WEEK 0-6 Noll (0) betyder söndag. Namn på dagar accepteras också.
    • Mer information om crontab-uttryck finns i Wiki-resursen Crontab Expression på GitHub.

    Viktigt!

    DAYS och MONTH stöds inte. Om du skickar något av dessa värden ignoreras det och behandlas som *.

  • (Valfritt) start_time anger startdatum och tid med schemats tidszon. Innebär till exempel start_time: "2022-05-10T10:15:00-04:00" att schemat börjar från 10:15:00 den 2022-05-10 i TIDSZONEN UTC-4. Om start_time utelämnas är det start_time lika med tiden då schemat skapades. För en tidigare starttid körs det första jobbet vid nästa beräknade körningstid.

  • (Valfritt) end_time beskriver slutdatum och tid med en tidszon. Om end_time utelämnas fortsätter schemat att utlösa jobb tills schemat inaktiveras manuellt.

  • (Valfritt) time_zoneanger tidszonen för uttrycket. Om time_zone utelämnas är tidszonen UTC som standard. Mer information om tidszonsvärden finns i bilaga för tidszonsvärden.

Begränsningar:

  • Schemaläggning av Azure Mašinsko učenje v2 stöder för närvarande inte händelsebaserade utlösare.
  • Använd Azure Mašinsko učenje SDK/CLI v2 för att ange ett komplext upprepningsmönster som innehåller flera tidsstämplar för utlösare. Användargränssnittet visar bara det komplexa mönstret och stöder inte redigering.
  • Om du anger upprepningen som den 31:a dagen i varje månad utlöser schemat inte jobb under månader med mindre än 31 dagar.

Lista scheman på en arbetsyta

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

az ml schedule list

Kontrollera schemainformation

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

az ml schedule show -n simple_cron_data_import_schedule

Uppdatera ett schema

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

az ml schedule update -n simple_cron_data_import_schedule  --set description="new description" --no-wait

Kommentar

Om du vill uppdatera mer än bara taggar/beskrivningar rekommenderar vi att du använder az ml schedule create --file update_schedule.yml

Inaktivera ett schema

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

az ml schedule disable -n simple_cron_data_import_schedule --no-wait

Aktivera ett schema

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

az ml schedule enable -n simple_cron_data_import_schedule --no-wait

Ta bort ett schema

Viktigt!

Ett schema måste inaktiveras innan du kan ta bort det. Borttagning är en permanent, oåterkallelig åtgärd. När ett schema har tagits bort kan du aldrig komma åt eller återställa det.

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

az ml schedule delete -n simple_cron_data_import_schedule

Stöd för RBAC (rollbaserad åtkomstkontroll)

Scheman används vanligtvis för produktion. För att förhindra problem kan arbetsyteadministratörer vilja begränsa schemaskapande och hanteringsbehörigheter på en arbetsyta.

Det finns för närvarande tre åtgärdsregler relaterade till scheman och du kan konfigurera dem i Azure-portalen. Mer information finns i hur du hanterar åtkomst till en Azure Mašinsko učenje-arbetsyta..

Åtgärd beskrivning Regel
Lästa Hämta och lista scheman i Mašinsko učenje arbetsyta Microsoft.MachineLearningServices/workspaces/schedules/read
Skriva Skapa, uppdatera, inaktivera och aktivera scheman i Mašinsko učenje arbetsyta Microsoft.MachineLearningServices/workspaces/schedules/write
Delete Ta bort ett schema i Mašinsko učenje arbetsyta Microsoft.MachineLearningServices/workspaces/schedules/delete

Nästa steg