Azure Table로 내보내기
중요
Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.
2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.
- ML Studio(클래식)에서 Azure Machine Learning으로 기계 학습 프로젝트 이동에 대한 정보를 참조하세요.
- Azure Machine Learning에 대한 자세한 정보.
ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
이 문서에서는 Machine Learning Studio(클래식)의 데이터 내보내기 모듈에서 Azure로 내보내기 옵션을 사용하는 방법을 설명합니다.
이 옵션은 기계 학습 실험에서 Azure 테이블로 결과 또는 중간 데이터를 내보내려는 경우에 유용합니다. Azure Table Service는 다량의 구조적 비관계형 데이터를 저장할 수 있는 Azure의 데이터 관리 서비스입니다. Azure 내부 및 외부에서 인증된 호출을 수락하는 NoSQL 데이터 저장소입니다.
Azure 테이블로 데이터를 내보내는 방법
실험에 데이터 내보내기 모듈을 추가합니다. 이 모듈은 Studio(클래식)의 데이터 입력 및 출력 범주에서 찾을 수 있습니다.
Azure Table Storage로 내보낼 데이터를 생성하는 모듈에 커넥트.
인증 유형 옵션을 설정하여 데이터를 공용 공유 리소스로 내보낼지 아니면 로그인 자격 증명이 필요한 프라이빗 스토리지 계정으로 내보낼지 여부를 지정합니다.
공용(SAS URL): 계정이 SAS URL을 통한 액세스를 지원하는 경우 이 옵션을 선택합니다. 테이블 SAS URI 필드에 계정 및 공용 Blob을 정의하는 전체 URI를 입력하거나 붙여넣습니다.
SAS URL은 Azure Storage 유틸리티를 사용하여 생성할 수 있는 시간 바인딩된 액세스 URL입니다. SAS URL을 통해 액세스할 수 있는 페이지에서 CSV, TSV 및 ARFF 형식만 사용하여 데이터를 저장할 수 있습니다.
계정: 데이터가 개인 계정에 있는 경우 이 옵션을 선택합니다. 계정 이름 및 키를 포함한 자격 증명도 제공해야 합니다.
데이터를 안전한 프라이빗 스토리지로 내보내려면 계정에 액세스하는 데 필요한 자격 증명을 제공합니다.
테이블 계정 이름: 액세스하려는 Blob이 포함된 계정의 이름을 입력하거나 붙여넣습니다. 예를 들어 스토리지 계정의 전체 URL이
https://myshared.table.core.windows.net
면 입력myshared
합니다.테이블 계정 키: 스토리지 계정과 연결된 액세스 키를 붙여넣습니다.
테이블 이름: 읽을 특정 테이블의 이름을 입력합니다.
테이블 저장소에 저장할 열과 열 속성을 사용하여 테이블 스키마를 정의하는 데 사용할 열을 지정합니다.
파티션 키: Azure Storage 테이블에 저장된 데이터 세트를 분할하는 데 사용할 열을 선택합니다. Azure의 테이블은 저장소 노드에서 부하 분산을 지원하기 위해 분할됩니다. 모든 테이블 엔터티는 파티션별로 구성됩니다. 따라서 PartitionKey 속성은 모든 테이블 작업에 필요합니다.
Azure 테이블 행 키: RowKey 속성에 사용해야 하는 열을 선택합니다. RowKey 속성은 테이블의 모든 엔터티에 필요한 시스템 속성입니다. PartitionKey 속성과 함께 테이블의 모든 행에 대해 고유한 인덱스가 형성됩니다.
참고
RowKey 및 PartitionKey에 대해 다른 열을 사용해야 합니다. RowKey 또는 PartitionKey에 대해 선택한 열이 대상 열 목록에 포함되어 있는지 확인하거나 오류가 발생합니다.
- Azure 테이블 원본 열: Azure 테이블에 저장할 데이터 세트에서 추가 열을 선택합니다. PartitionKey 및 RowKey에 대해 선택한 열도 포함해야 합니다.
Azure Storage 테이블에 대한 자세한 내용은 Table Service 데이터 모델 이해를 참조하세요.
테이블에 쓸 열의 이름을 지정합니다.
중요
RowKey, PartitionKey 및 모든 원본 열을 포함하여 테이블에 출력하는 모든 열의 열 이름을 제공해야 합니다.
입력한 열 이름 수가 출력 열 수와 일치하지 않으면 오류가 발생합니다.
새 열 이름을 입력하는 경우 원본 열의 열 인덱스 순서대로 제공해야 합니다.
Azure 테이블 쓰기 모드: 데이터가 Azure 테이블에 이미 있을 때 데이터 내보내 기가 작동하는 방식을 나타냅니다.
삽입: 이
Insert Entity
작업은 PartitionKey 및 RowKey 속성의 조합으로 구성된 고유한 기본 키를 사용하여 새 엔터티를 삽입합니다.병합: 작업은
Merge Entity
엔터티의 속성을 업데이트하여 기존 엔터티를 업데이트합니다. 이 작업에서는 기존 엔터티를 바꾸지 않습니다.바꾸기: 이
Update Entity
작업은 테이블에서 지정된 엔터티의 내용을 대체합니다.InsertOrReplace:
InsertOrReplace Entity
엔터티가 없는 경우 작업이 엔터티를 삽입합니다. 엔터티가 있는 경우 기존 엔터티를 바꿉니다.InsertOrMerge:
InsertOrMerge Entity
엔터티가 없는 경우 작업이 엔터티를 삽입합니다. 엔터티가 있으면 제공된 엔터티 속성을 이미 있는 속성과 병합합니다.
캐시된 결과 사용: 실험을 실행할 때마다 데이터를 새로 고칠지 여부를 나타냅니다.
이 옵션을 선택하면 데이터 내보내기 모듈은 실험을 처음 실행할 때 지정된 테이블에 데이터를 저장하고 업스트림 변경이 없는 한 쓰기를 수행하지 않습니다.
이 옵션을 선택 취소하면 데이터가 같은지 여부에 관계없이 실험이 실행 될 때마다 데이터가 대상에 기록됩니다.
실험을 실행합니다.
기술 정보
이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.
일반적인 질문
기존 테이블에 쓸 때 오류가 발생한 이유
테이블의 스키마를 확인하여 열 이름 및 데이터 형식이 동일한지 확인합니다. 예를 들어 Azure Table Storage에서 ID 열은 문자열이어야 합니다.
오류가 발생하면 오류 0027: 전달된 개체의 크기가 일치하지 않는 경우 테이블이 지정된 컨테이너에 있는지 확인합니다. 현재 Azure ML 기존 테이블에만 쓸 수 있습니다.
기존 열을 찾을 수 없다는 오류가 발생하는 이유는 무엇인가요?
실험을 실행하지 않은 경우 데이터 내보내기에서 업스트림 열을 검색하지 못하는 경우가 있습니다. 실험에서 업스트림을 변경하는 경우 데이터 내보내기 모듈을 제거한 다음 추가 및 다시 구성해야 할 수 있습니다.
동일한 데이터를 불필요하게 다시 쓰는 것을 방지할 수 있는 방법
어떤 이유로든 실험의 데이터가 변경되면 데이터 내보내기 모듈은 항상 새 데이터를 작성합니다.
그러나 결과에 영향을 미치지 않는 다른 변경 내용으로 실험을 실행하는 경우 캐시된 결과 사용 옵션을 TRUE로 설정합니다. 모듈은 동일한 옵션을 사용하여 실험이 이전에 실행되었는지 여부를 확인하고, 이전 결과가 발견되면 데이터가 Azure 테이블에 기록되지 않습니다.
다른 지리적 지역으로 데이터를 내보낼 수 있나요?
예. 그러나 스토리지 계정이 기계 학습 실험에 사용되는 컴퓨팅 노드와 다른 지역에 있는 경우 데이터 액세스 속도가 느려질 수 있습니다. 또한 구독의 데이터 수신 및 송신에 대한 요금이 청구됩니다.
예
이러한 기계 학습 모듈을 사용하는 방법의 예는 Azure AI 갤러리를 참조하세요.
모듈 매개 변수
공용 또는 SAS - 공용 옵션
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
테이블 SAS URI | any | String |
계정 - 개인 계정 옵션
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
테이블 계정 이름 | ||||
테이블 계정 키 | any | SecureString |
스토리지 옵션
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
테이블 이름 | String | 없음 | ||
파티션 키 | any | SecureString | 없음 | 테이블을 분할할 때 키로 사용할 열을 선택합니다. 열이 선택되지 않은 경우 열 이름은 모든 항목의 파티션 키로 지정됩니다. |
Azure 테이블 행 키 | any | ColumnPicker | 없음 | 테이블 행에 대한 고유 식별자가 포함된 열을 선택합니다. 기본값은 GUID 기반 행 키입니다. |
Azure 테이블 원본 열 | any | ColumnPicker | 없음 | 이름 또는 열 인덱스별로 테이블에 포함할 열을 지정합니다. |
Azure 테이블 대상 열 | any | String | 없음 | 대상 테이블에서 사용할 열의 이름을 입력합니다. |
Azure 테이블 쓰기 모드 | 목록: 삽입, 병합, 바꾸기, InsertOrReplace, InsertOrMerge | 열거형 | 없음 | |
캐시된 결과 사용 | TRUE/FALSE | 부울 | FALSE | 모듈은 유효한 캐시가 없는 경우에만 실행됩니다. 그렇지 않으면 이전 실행에서 캐시된 데이터를 사용합니다. |
예외
예외 | 설명 |
---|---|
오류 0027 | 두 개체의 크기가 같아야 하지만 다른 경우 예외가 발생합니다. |
오류 0003 | 입력 중 하나 이상이 null이거나 비어 있으면 예외가 발생합니다. |
오류 0029 | 잘못된 URI가 전달되면 예외가 발생합니다. |
오류 0030 | 파일을 다운로드할 수 없으면 예외가 발생합니다. |
오류 0002 | 하나 이상의 매개 변수를 구문 분석할 수 없거나 지정된 형식을 대상 방법에 필요한 형식으로 변환할 수 없으면 예외가 발생합니다. |
오류 0009 | Azure 저장소 계정 이름 또는 컨테이너 이름을 잘못 지정하는 경우 예외가 발생합니다. |
오류 0048 | 파일을 열 수 없으면 예외가 발생합니다. |
오류 0046 | 지정한 경로에 디렉터리를 만들 수 없으면 예외가 발생합니다. |
오류 0049 | 파일을 구문 분석할 수 없으면 예외가 발생합니다. |
Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.
API 예외 목록은 MACHINE LEARNING REST API 오류 코드를 참조하세요.
참고 항목
데이터 가져오기
데이터 내보내기
Azure SQL Database로 내보내기
Azure Blob Storage에 내보내기
Hive 쿼리로 내보내기