데이터 가져오기 작업 예약(미리 보기)
적용 대상:Azure CLI ml 확장 v2(현재)Python SDK azure-ai-ml v2(현재)
이 문서에서는 일정 UI를 사용하여 데이터 가져오기를 프로그래밍 방식으로 예약하는 방법을 알아봅니다. 경과된 시간에 따라 예약을 만들 수 있습니다. 시간 기반 일정을 사용하면 일상적인 작업을 처리할 수 있습니다. 예를 들어, 데이터를 정기적으로 가져와서 최신 상태로 유지할 수 있습니다. 일정을 만드는 방법을 배운 후 CLI, SDK 및 스튜디오 UI 리소스를 통해 일정을 검색, 업데이트 및 비활성화하는 방법을 알아봅니다.
필수 조건
- Azure Machine Learning을 사용하려면 Azure 구독이 필요합니다. Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다. 지금 Azure Machine Learning 평가판 또는 유료 버전을 사용해 보세요.
Azure CLI 및
ml
확장을 설치합니다. CLI(v2) 설치, 설정 및 사용의 설치 지침을 따르세요.아직 없는 경우 Azure Machine Learning 작업 영역을 만듭니다. 작업 영역 생성은 CLI(v2) 설치, 설정 및 사용을 참조하세요.
데이터 가져오기 예약
반복적으로 데이터를 가져오려면 일정을 만들어야 합니다. 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
은 일정이 다시 실행될 때까지 대기하는 시간 단위 수인 빈도를 기반으로 일정이 실행되는 빈도를 지정합니다.(선택 사항)
schedule
은hours
,minutes
및weekdays
를 포함하는 되풀이 패턴을 정의합니다.frequency
가day
와 같을 때 패턴은hours
및minutes
를 지정할 수 있습니다.frequency
가week
및month
와 같으면 패턴은hours
,minutes
및weekdays
를 지정할 수 있습니다.hours
는 0에서 23 사이의 정수 또는 목록이어야 합니다.minutes
는 0에서 59 사이의 정수 또는 목록이어야 합니다.weekdays
monday
부터sunday
까지의 문자열 또는 목록입니다.schedule
을 생략하면 작업은start_time
,frequency
및interval
의 논리에 따라 트리거됩니다.
(선택 사항)
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
DAYS
및MONTH
는 지원되지 않습니다. 이러한 값 중 하나를 전달하면 무시되고*
로 처리됩니다.(선택 사항)
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 |
다음 단계
- CLI(v2) 데이터 가져오기 일정 YAML 스키마에 대해 자세히 알아봅니다.
- 가져온 데이터 자산을 관리하는 방법을 알아봅니다.