이 문서에서는 외부 원본에서 Azure Machine Learning 플랫폼으로 데이터를 가져오는 방법을 알아봅니다. 데이터 가져오기에 성공하면 해당 가져오기 중에 제공된 이름으로 Azure Machine Learning 데이터 자산이 자동으로 만들어지고 등록됩니다. Azure Machine Learning 데이터 자산은 웹 브라우저 책갈피(즐겨찾기)와 유사합니다. 가장 자주 사용되는 데이터를 가리키는 긴 스토리지 경로(URI)를 기억할 필요가 없습니다. 대신 데이터 자산을 만든 다음 식별 이름으로 해당 자산에 액세스할 수 있습니다.
데이터 가져오기는 Azure Machine Learning 학습 작업에서 더 빠르고 신뢰할 수 있는 데이터 액세스를 위해 메타데이터와 함께 원본 데이터의 캐시를 만듭니다. 데이터 캐시는 네트워크 및 연결 제약 조건을 방지합니다. 캐시된 데이터는 재현성을 지원하도록 버전이 지정됩니다. 이는 SQL Server 원본에서 가져온 데이터에 대한 버전 관리 기능을 제공합니다. 또한 캐시된 데이터는 감사 작업을 위한 데이터 계보를 제공합니다. 데이터 가져오기는 백그라운드에서 ADF(Azure Data Factory 파이프라인)를 사용하므로 사용자는 ADF와의 복잡한 상호 작용을 피할 수 있습니다. 또한 Azure Machine Learning은 ADF 컴퓨팅 리소스 풀 크기 관리, 컴퓨팅 리소스 프로비전 및 해체를 처리하여 적절한 병렬화를 결정하여 데이터 전송을 최적화합니다.
전송된 데이터는 분할되어 Azure Storage에 parquet 파일로 안전하게 저장됩니다. 이를 통해 학습 중에 더 빠른 처리가 가능합니다. ADF 컴퓨팅 비용에는 데이터 전송에 사용되는 시간만 포함됩니다. 캐시된 데이터는 외부 원본에서 가져온 데이터의 복사본이므로 스토리지 비용에는 데이터를 캐시하는 데 필요한 시간만 포함됩니다. Azure Storage는 해당 외부 원본을 호스팅합니다.
캐싱 기능에는 사전 컴퓨팅 및 스토리지 비용이 포함됩니다. 그러나 학습 중에 외부 원본 데이터에 직접 연결하는 것에 비해 되풀이되는 학습 컴퓨팅 비용이 줄어들기 때문에 그 자체로 비용을 지불하고 비용을 절약할 수 있습니다. 데이터를 parquet 파일로 캐시하므로 더 큰 데이터 세트의 연결 시간 제한에 대비하여 작업 학습이 더 빠르고 안정적으로 이루어집니다. 이로 인해 다시 실행 횟수가 줄어들고 학습 실패도 줄어듭니다.
Amazon S3, Azure SQL 및 Snowflake에서 데이터를 가져올 수 있습니다.
Important
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다.
자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)
pip install azure-ai-ml
pip show azure-ai-ml #(the version value needs to be 1.15.0 or later)
사용할 수 없음.
외부 데이터베이스에서 mltable 데이터 자산으로 가져오기
참고 항목
외부 데이터베이스에는 Snowflake, Azure SQL 등의 형식이 있을 수 있습니다.
다음 코드 샘플은 외부 데이터베이스에서 데이터를 가져올 수 있습니다. 가져오기 작업을 처리하는 connection은 외부 데이터베이스 데이터 원본 메타데이터를 결정합니다. 이 샘플의 코드는 Snowflake 리소스에서 데이터를 가져옵니다. 연결은 Snowflake 원본을 가리킵니다. 약간만 수정하면 연결이 Azure SQL Database 원본과 Azure SQL Database 원본을 가리킬 수 있습니다. 외부 데이터베이스 원본에서 가져온 자산 type은 mltable입니다.
왼쪽 탐색의 자산 아래에서 데이터를 선택합니다. 그런 다음 데이터 가져오기 탭을 선택합니다. 그런 다음 이 스크린샷에 표시된 대로 만들기를 선택합니다.
이 스크린샷에 표시된 대로 데이터 원본 화면에서 Snowflake를 선택한 후 다음을 선택합니다.
데이터 형식 화면에서 값을 입력합니다. 형식 값의 기본값은 테이블(mltable)입니다. 그런 다음 이 스크린샷에 표시된 대로 다음을 선택합니다.
데이터 가져오기 만들기 화면에서 이 스크린샷에 표시된 대로 값을 입력하고 다음을 선택합니다.
이 스크린샷에 표시된 대로 출력할 데이터 저장소 선택 화면에서 값을 입력하고 다음을 선택합니다. 작업 영역 관리 데이터 저장소는 기본적으로 선택됩니다. 관리 데이터 저장소를 선택하면 시스템에서 경로가 자동으로 할당됩니다. 작업 영역 관리 데이터 저장소를 선택하면 자동 삭제 설정 드롭다운이 나타납니다. 기본적으로 30일의 데이터 삭제 기간을 제공하며, 가져온 데이터 자산을 관리하는 방법에 이 값을 변경하는 방법이 설명되어 있습니다.
참고 항목
고유의 데이터 저장소를 선택하려면 다른 데이터 저장소를 선택합니다. 이 경우 데이터 캐시 위치에 대한 경로를 선택해야 합니다.
일정을 추가할 수 있습니다. 다음 스크린샷에 표시된 대로 일정 추가를 선택합니다.
되풀이 일정 또는 Cron 일정을 정의할 수 있는 새 패널이 열립니다. 이 스크린샷은 되풀이 일정 패널을 보여 줍니다.
이름: 작업 영역 내 일정의 고유 식별자입니다.
설명: 일정에 대한 설명입니다.
트리거: 다음 속성을 포함하는 일정의 되풀이 방법입니다.
표준 시간대: 트리거 시간 계산은 이 표준 시간대를 기준으로 합니다. (UTC) 기본적으로 협정 세계시입니다.
되풀이 또는 Cron 식: 되풀이를 선택하여 되풀이 패턴을 지정합니다. 되풀이에서 되풀이 빈도를 분, 시간, 일, 주 또는 월 단위로 지정할 수 있습니다.
시작: 이 날짜에 일정이 처음으로 활성화됩니다. 기본적으로 이 일정의 만든 날짜입니다.
종료: 이 날짜 이후에는 일정이 비활성화됩니다. 기본적으로 NONE입니다. 즉, 수동으로 사용하지 않도록 설정할 때까지 일정이 항상 활성화됩니다.
태그: 선택한 일정 태그입니다.
참고 항목
시작은 일정의 시간대를 사용하여 시작 날짜와 시간을 지정합니다. 시작을 생략하면 시작 시간은 스케줄 만들기 시간과 동일합니다. 과거 시작 시간의 경우 첫 번째 작업은 다음으로 계산된 런타임에 실행됩니다.
다음 스크린샷은 이 프로세스의 마지막 화면을 보여 줍니다. 선택 사항을 검토하고 만들기를 선택합니다. 이 화면과 이 프로세스의 다른 화면에서 이전 화면으로 이동하여 값 선택을 변경하려면 뒤로를 선택합니다.
이 스크린샷은 Cron 일정에 대한 패널을 보여 줍니다.
이름: 작업 영역 내 일정의 고유 식별자입니다.
설명: 일정에 대한 설명입니다.
트리거: 다음 속성을 포함하는 일정의 되풀이 방법입니다.
표준 시간대: 트리거 시간 계산은 이 표준 시간대를 기준으로 합니다. (UTC) 기본적으로 협정 세계시입니다.
되풀이 또는 Cron 식: Cron 세부 정보를 지정하려면 Cron 식을 선택합니다.
(필수)expression은 표준 Crontab 식을 사용하여 되풀이 일정을 표현합니다. 단일 식은 공백으로 구분된 5개의 필드로 구성됩니다.
MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
필드의 모든 값을 포함하는 단일 와일드카드(*)입니다. 일 수에서 *는 특정 월의 모든 일을 의미합니다(월 및 연도에 따라 다름).
위 샘플에서 expression: "15 16 * * 1"은 매주 월요일 오후 16시 15분을 의미합니다.
DAYS 및 MONTH는 지원되지 않습니다. 이러한 값 중 하나를 전달하면 무시되고 *로 처리됩니다.
시작: 이 날짜에 일정이 처음으로 활성화됩니다. 기본적으로 이 일정의 만든 날짜입니다.
종료: 이 날짜 이후에는 일정이 비활성화됩니다. 기본적으로 NONE입니다. 즉, 수동으로 사용하지 않도록 설정할 때까지 일정이 항상 활성화됩니다.
태그: 선택한 일정 태그입니다.
참고 항목
시작은 일정의 시간대를 사용하여 시작 날짜와 시간을 지정합니다. 시작을 생략하면 시작 시간은 스케줄 만들기 시간과 동일합니다. 과거 시작 시간의 경우 첫 번째 작업은 다음으로 계산된 런타임에 실행됩니다.
다음 스크린샷은 이 프로세스의 마지막 화면을 보여 줍니다. 선택 사항을 검토하고 만들기를 선택합니다. 이 화면과 이 프로세스의 다른 화면에서 이전 화면으로 이동하여 값 선택을 변경하려면 뒤로를 선택합니다.
외부 파일 시스템의 데이터를 폴더 데이터 자산으로 가져오기
참고 항목
Amazon S3 데이터 리소스는 외부 파일 시스템 리소스 역할을 할 수 있습니다.
데이터 가져오기 작업을 처리하는 connection은 외부 데이터 원본의 측면을 결정합니다. 연결은 Amazon S3 버킷을 대상으로 정의합니다. 연결에는 유효한 path 값이 필요합니다. 외부 파일 시스템 원본에서 가져온 자산 값의 type은 uri_folder입니다.
왼쪽 탐색의 자산 아래에서 데이터를 선택합니다. 다음으로 데이터 가져오기 탭을 선택합니다. 그런 다음 이 스크린샷에 표시된 대로 만들기를 선택합니다.
이 스크린샷에 표시된 대로 데이터 원본 화면에서 S3을 선택한 후 다음을 선택합니다.
데이터 형식 화면에서 값을 입력합니다. 형식 값의 기본값은 폴더(uri_folder)입니다. 그런 다음 이 스크린샷에 표시된 대로 다음을 선택합니다.
데이터 가져오기 만들기 화면에서 이 스크린샷에 표시된 대로 값을 입력하고 다음을 선택합니다.
이 스크린샷에 표시된 대로 출력할 데이터 저장소 선택 화면에서 값을 입력하고 다음을 선택합니다. 작업 영역 관리 데이터 저장소는 기본적으로 선택됩니다. 관리되는 데이터 저장소를 선택하면 시스템에서 경로가 자동으로 할당됩니다. 작업 영역 관리 데이터 저장소를 선택하면 자동 삭제 설정 드롭다운이 나타납니다. 기본적으로 30일의 데이터 삭제 기간을 제공하며, 가져온 데이터 자산을 관리하는 방법에 이 값을 변경하는 방법이 설명되어 있습니다.
일정을 추가할 수 있습니다. 다음 스크린샷에 표시된 대로 일정 추가를 선택합니다.
되풀이 일정 또는 Cron 일정을 정의할 수 있는 새 패널이 열립니다. 이 스크린샷은 되풀이 일정 패널을 보여 줍니다.
이름: 작업 영역 내 일정의 고유 식별자입니다.
설명: 일정에 대한 설명입니다.
트리거: 다음 속성을 포함하는 일정의 되풀이 방법입니다.
표준 시간대: 트리거 시간 계산은 이 표준 시간대를 기준으로 합니다. (UTC) 기본적으로 협정 세계시입니다.
되풀이 또는 Cron 식: 되풀이를 선택하여 되풀이 패턴을 지정합니다. 되풀이에서 되풀이 빈도를 분, 시간, 일, 주 또는 월 단위로 지정할 수 있습니다.
시작: 이 날짜에 일정이 처음으로 활성화됩니다. 기본적으로 이 일정의 만든 날짜입니다.
종료: 이 날짜 이후에는 일정이 비활성화됩니다. 기본적으로 NONE입니다. 즉, 수동으로 사용하지 않도록 설정할 때까지 일정이 항상 활성화됩니다.
태그: 선택한 일정 태그입니다.
참고 항목
시작은 일정의 시간대를 사용하여 시작 날짜와 시간을 지정합니다. 시작을 생략하면 시작 시간은 스케줄 만들기 시간과 동일합니다. 과거 시작 시간의 경우 첫 번째 작업은 다음으로 계산된 런타임에 실행됩니다.
다음 스크린샷에 표시된 것처럼 이 프로세스의 마지막 화면에서 선택 사항을 검토하고 만들기를 선택합니다. 이 화면과 이 프로세스의 다른 화면에서 선택한 값을 변경하려면 뒤로를 선택하여 이전 화면으로 이동합니다.
다음 스크린샷은 이 프로세스의 마지막 화면을 보여 줍니다. 선택 사항을 검토하고 만들기를 선택합니다. 이 화면과 이 프로세스의 다른 화면에서 이전 화면으로 이동하여 값 선택을 변경하려면 뒤로를 선택합니다.
이 스크린샷은 Cron 일정에 대한 패널을 보여 줍니다.
이름: 작업 영역 내 일정의 고유 식별자입니다.
설명: 일정에 대한 설명입니다.
트리거: 다음 속성을 포함하는 일정의 되풀이 방법입니다.
표준 시간대: 트리거 시간 계산은 이 표준 시간대를 기준으로 합니다. (UTC) 기본적으로 협정 세계시입니다.
되풀이 또는 Cron 식: Cron 세부 정보를 지정하려면 Cron 식을 선택합니다.
(필수)expression은 표준 Crontab 식을 사용하여 되풀이 일정을 표현합니다. 단일 식은 공백으로 구분된 5개의 필드로 구성됩니다.
MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
필드의 모든 값을 포함하는 단일 와일드카드(*)입니다. 일 수에서 *는 특정 월의 모든 일을 의미합니다(월 및 연도에 따라 다름).
위 샘플에서 expression: "15 16 * * 1"은 매주 월요일 오후 16시 15분을 의미합니다.
DAYS 및 MONTH는 지원되지 않습니다. 이러한 값 중 하나를 전달하면 무시되고 *로 처리됩니다.
시작: 이 날짜에 일정이 처음으로 활성화됩니다. 기본적으로 이 일정의 만든 날짜입니다.
종료: 이 날짜 이후에는 일정이 비활성화됩니다. 기본적으로 NONE입니다. 즉, 수동으로 사용하지 않도록 설정할 때까지 일정이 항상 활성화됩니다.
태그: 선택한 일정 태그입니다.
참고 항목
시작은 일정의 시간대를 사용하여 시작 날짜와 시간을 지정합니다. 시작을 생략하면 시작 시간은 스케줄 만들기 시간과 동일합니다. 과거 시작 시간의 경우 첫 번째 작업은 다음으로 계산된 런타임에 실행됩니다.
다음 스크린샷은 이 프로세스의 마지막 화면을 보여 줍니다. 선택 사항을 검토하고 만들기를 선택합니다. 이 화면과 이 프로세스의 다른 화면에서 이전 화면으로 이동하여 값 선택을 변경하려면 뒤로를 선택합니다.
외부 데이터 원본의 가져오기 상태 확인
데이터 가져오기 작업은 비동기 작업입니다. 시간이 오래 걸릴 수 있습니다. CLI 또는 SDK를 통해 데이터 가져오기 작업을 제출한 후 Azure Machine Learning Services가 외부 데이터 원본에 연결하는 데 몇 분이 필요할 수 있습니다. 그런 다음 서비스는 데이터 가져오기를 시작하고 데이터 캐싱 및 등록을 처리합니다. 데이터 가져오기에 필요한 시간은 원본 데이터 세트의 크기에 따라 달라집니다.
다음 예에서는 제출된 데이터 가져오기 작업의 상태를 반환합니다. 명령 또는 메서드는 "데이터 자산" 이름을 입력으로 사용하여 데이터 구체화 상태를 결정합니다.