다음을 통해 공유


데이터 가져오기 작업 예약(미리 보기)

적용 대상:Azure CLI ml 확장 v2(현재)Python SDK azure-ai-ml v2(현재)

이 문서에서는 일정 UI를 사용하여 데이터 가져오기를 프로그래밍 방식으로 예약하는 방법을 알아봅니다. 경과된 시간에 따라 예약을 만들 수 있습니다. 시간 기반 일정을 사용하면 일상적인 작업을 처리할 수 있습니다. 예를 들어, 데이터를 정기적으로 가져와서 최신 상태로 유지할 수 있습니다. 일정을 만드는 방법을 배운 후 CLI, SDK 및 스튜디오 UI 리소스를 통해 일정을 검색, 업데이트 및 비활성화하는 방법을 알아봅니다.

필수 조건

데이터 가져오기 예약

반복적으로 데이터를 가져오려면 일정을 만들어야 합니다. Schedule은 데이터 가져오기 작업을 트리거와 연결합니다. 트리거는 실행 간 대기 시간을 설명하는 cron 식을 사용하는 cron이거나 작업을 트리거하는 빈도를 지정하는 recurrence일 수 있습니다. 각각의 경우에 먼저 가져오기 데이터 정의를 작성해야 합니다. 기존 데이터 가져오기 또는 인라인으로 정의된 데이터 가져오기가 이에 적합합니다. 자세한 내용은 CLI, SDK 및 UI에서 데이터 가져오기 만들기를 참조합니다.

일정 만들기

되풀이 패턴이 있는 시간 기반 일정 만들기

적용 대상: Azure CLI ml 확장 v2(현재)

YAML: 되풀이 방법으로 데이터 가져오기 일정

$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: 관리 데이터 저장소의 되풀이 방법에 따라 데이터 가져오기 정의 인라인 예약

$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에는 다음과 같은 속성이 포함됩니다.

  • (필수) type은 일정 형식을 recurrence 또는 cron으로 지정합니다. 자세한 내용은 다음 섹션에 나와 있습니다.

그런 다음 CLI에서 다음 명령을 실행합니다.

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

참고 항목

다음 속성은 CLI 및 SDK에 적용됩니다.

  • (필수) frequency는 일정이 실행되는 빈도를 설명하는 시간 단위를 지정합니다. 값을 가질 수 있습니다.

    • minute
    • hour
    • day
    • week
    • month
  • (필수) interval은 일정이 다시 실행될 때까지 대기하는 시간 단위 수인 빈도를 기반으로 일정이 실행되는 빈도를 지정합니다.

  • (선택 사항) schedulehours, minutesweekdays를 포함하는 되풀이 패턴을 정의합니다.

    • frequencyday와 같을 때 패턴은 hoursminutes를 지정할 수 있습니다.
    • frequencyweekmonth와 같으면 패턴은 hours, minutesweekdays를 지정할 수 있습니다.
    • hours는 0에서 23 사이의 정수 또는 목록이어야 합니다.
    • minutes는 0에서 59 사이의 정수 또는 목록이어야 합니다.
    • weekdaysmonday부터 sunday까지의 문자열 또는 목록입니다.
    • schedule을 생략하면 작업은 start_time, frequencyinterval의 논리에 따라 트리거됩니다.
  • (선택 사항) start_time은 시작 날짜와 시간을 시간대와 함께 설명합니다. start_time이 생략되면 start_time은 작업 만들기 시간과 같습니다. 과거 시작 시간의 경우 첫 번째 작업은 다음으로 계산된 런타임에 실행됩니다.

  • (선택 사항) end_time은 종료 날짜와 시간을 시간대와 함께 설명합니다. end_time을 생략하면 일정이 수동으로 사용하지 않도록 설정될 때까지 일정이 계속해서 작업을 트리거합니다.

  • (선택 사항) time_zone은 되풀이의 표준 시간대를 지정합니다. 생략하면 기본 시간대는 UTC입니다. 표준 시간대 값에 대한 자세한 내용은 표준 시간대 값 부록을 참조합니다.

Cron 식을 사용하여 시간 기반 일정 만들기

YAML: cron 식을 사용한 데이터 가져오기 일정

적용 대상: Azure CLI ml 확장 v2(현재)

YAML: cron 식을 사용한 데이터 가져오기 일정(미리 보기)

$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: cron 식을 사용하여 인라인으로 데이터 가져오기 정의 일정(미리 보기)

$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

trigger 섹션은 일정 세부 정보를 정의하고 다음 속성을 포함합니다.

  • (필수) type은 일정 유형을 cron으로 지정합니다.
> az ml schedule create -f <file-name>.yml

목록은 여기에서 계속됩니다.

  • (필수) expression은 표준 Crontab 식을 사용하여 되풀이 일정을 표현합니다. 단일 식은 공백으로 구분된 5개의 필드로 구성됩니다.

    MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK

    • 필드의 모든 값을 포함하는 단일 와일드카드(*)입니다. 일 수에서 *는 특정 월의 모든 일을 의미합니다(월 및 연도에 따라 다름).

    • 위 샘플에서 expression: "15 16 * * 1"은 매주 월요일 오후 16시 15분을 의미합니다.

    • 이 표에는 각 필드에 대한 유효한 값이 나열되어 있습니다.

      필드 범위 Comment(설명)
      MINUTES 0-59 -
      HOURS 0-23 -
      DAYS - 지원되지 않습니다. 값은 무시되고 *로 처리됩니다.
      MONTHS - 지원되지 않습니다. 값은 무시되고 *로 처리됩니다.
      DAYS-OF-WEEK 0-6 0은 일요일을 의미합니다. 일 이름도 수락됩니다.
    • Crontab 식에 대한 자세한 내용은 GitHub의 Crontab 식 Wiki 리소스를 참조하세요.

    Important

    DAYSMONTH는 지원되지 않습니다. 이러한 값 중 하나를 전달하면 무시되고 *로 처리됩니다.

  • (선택 사항) start_time은 해당 일정의 표준 시간대와 함께 시작 날짜 및 시간을 지정합니다. 예를 들어, start_time: "2022-05-10T10:15:00-04:00"은 일정이 UTC-4 시간대에서 2022-05-10 오전 10:15:00부터 시작됨을 의미합니다. start_time이 생략되면 start_time은 일정 만들기 시간과 같습니다. 과거 시작 시간의 경우 첫 번째 작업은 다음으로 계산된 런타임에 실행됩니다.

  • (선택 사항) end_time은 종료 날짜와 시간을 시간대와 함께 설명합니다. end_time을 생략하면 일정이 수동으로 사용하지 않도록 설정될 때까지 일정이 계속해서 작업을 트리거합니다.

  • (선택 사항) time_zone은 식의 표준 시간대를 지정합니다. time_zone을 생략하면 기본적으로 표준 시간대는 UTC입니다. 표준 시간대 값에 대한 자세한 내용은 표준 시간대 값 부록을 참조합니다.

제한 사항:

  • 현재 Azure Machine Learning v2 예약은 이벤트 기반 트리거를 지원하지 않습니다.
  • Azure Machine Learning SDK/CLI v2를 사용하여 여러 트리거 타임스탬프가 포함된 복잡한 되풀이 방법을 지정합니다. UI는 복잡한 패턴만 표시하고 편집을 지원하지 않습니다.
  • 되풀이를 매월 31일로 설정하면 31일 미만의 달에서는 일정이 작업을 트리거하지 않습니다.

작업 영역에 일정 나열

적용 대상: Azure CLI ml 확장 v2(현재)

az ml schedule list

일정 세부 정보 확인

적용 대상: Azure CLI ml 확장 v2(현재)

az ml schedule show -n simple_cron_data_import_schedule

일정 업데이트

적용 대상: Azure CLI ml 확장 v2(현재)

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

참고 항목

태그/설명 이상을 업데이트하려면 az ml schedule create --file update_schedule.yml을 사용하는 것이 좋습니다.

일정 해제

적용 대상: Azure CLI ml 확장 v2(현재)

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

일정 사용

적용 대상: Azure CLI ml 확장 v2(현재)

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

일정 삭제

Important

일정을 삭제하려면 먼저 사용하지 않도록 설정해야 합니다. 삭제는 영구적이고 복구할 수 없는 작업입니다. 일정이 삭제된 후에는 액세스하거나 복구할 수 없습니다.

적용 대상: Azure CLI ml 확장 v2(현재)

az ml schedule delete -n simple_cron_data_import_schedule

RBAC(역할 기반 액세스 제어) 지원

일정은 일반적으로 프로덕션에 사용됩니다. 문제를 방지하기 위해 작업 영역 관리자는 작업 영역 내에서 일정 만들기 및 관리 권한을 제한할 수 있습니다.

현재 일정과 관련된 세 가지 작업 규칙이 있으며 Azure Portal에서 구성할 수 있습니다. 자세한 내용은 Azure Machine Learning 작업 영역에 대한 액세스를 관리하는 방법을 참조합니다.

작업 설명 규칙
읽음 Machine Learning 작업 영역에서 일정 가져오기 및 나열 Microsoft.MachineLearningServices/workspaces/schedules/read
쓰기 Machine Learning 작업 영역에서 일정 만들기, 업데이트, 사용 안 함 및 사용 설정 Microsoft.MachineLearningServices/workspaces/schedules/write
삭제 Machine Learning 작업 영역에서 일정 삭제 Microsoft.MachineLearningServices/workspaces/schedules/delete

다음 단계