데이터 자산 가져오기(미리 보기)

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

이 문서에서는 외부 원본에서 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에 대한 추가 사용 약관을 참조하세요.

필수 조건

데이터 자산을 만들고 작업하려면 다음이 필요합니다.

참고 항목

성공적인 데이터 가져오기를 위해서는 SDK용 최신 azure-ai-ml 패키지(버전 1.15.0 이상)와 ml 확장(버전 2.15.1 이상)을 설치했는지 확인하세요.

이전 SDK 패키지 또는 CLI 확장이 있는 경우 이전 패키지를 제거하고 탭 섹션에 표시된 코드를 사용하여 새 패키지를 설치하세요. 여기에 표시된 SDK 및 CLI 지침을 따릅니다.

Code versions

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)

외부 데이터베이스에서 mltable 데이터 자산으로 가져오기

참고 항목

외부 데이터베이스에는 Snowflake, Azure SQL 등의 형식이 있을 수 있습니다.

다음 코드 샘플은 외부 데이터베이스에서 데이터를 가져올 수 있습니다. 가져오기 작업을 처리하는 connection은 외부 데이터베이스 데이터 원본 메타데이터를 결정합니다. 이 샘플의 코드는 Snowflake 리소스에서 데이터를 가져옵니다. 연결은 Snowflake 원본을 가리킵니다. 약간만 수정하면 연결이 Azure SQL Database 원본과 Azure SQL Database 원본을 가리킬 수 있습니다. 외부 데이터베이스 원본에서 가져온 자산 typemltable입니다.

YAML 파일 <file-name>.yml을 만듭니다.

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

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

> az ml data import -f <file-name>.yml

외부 파일 시스템의 데이터를 폴더 데이터 자산으로 가져오기

참고 항목

Amazon S3 데이터 리소스는 외부 파일 시스템 리소스 역할을 할 수 있습니다.

데이터 가져오기 작업을 처리하는 connection은 외부 데이터 원본의 측면을 결정합니다. 연결은 Amazon S3 버킷을 대상으로 정의합니다. 연결에는 유효한 path 값이 필요합니다. 외부 파일 시스템 원본에서 가져온 자산 값의 typeuri_folder입니다.

다음 코드 샘플은 Amazon S3 리소스에서 데이터를 가져옵니다.

YAML 파일 <file-name>.yml을 만듭니다.

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

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

> az ml data import -f <file-name>.yml

외부 데이터 원본의 가져오기 상태 확인

데이터 가져오기 작업은 비동기 작업입니다. 시간이 오래 걸릴 수 있습니다. CLI 또는 SDK를 통해 데이터 가져오기 작업을 제출한 후 Azure Machine Learning Services가 외부 데이터 원본에 연결하는 데 몇 분이 필요할 수 있습니다. 그런 다음 서비스는 데이터 가져오기를 시작하고 데이터 캐싱 및 등록을 처리합니다. 데이터 가져오기에 필요한 시간은 원본 데이터 세트의 크기에 따라 달라집니다.

다음 예에서는 제출된 데이터 가져오기 작업의 상태를 반환합니다. 명령 또는 메서드는 "데이터 자산" 이름을 입력으로 사용하여 데이터 구체화 상태를 결정합니다.

> az ml data list-materialization-status --name <name>

다음 단계