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(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

이 문서에서는 Machine Learning Studio(클래식)의 데이터 내보내기 모듈에서 Azure로 내보내기 옵션을 사용하는 방법을 설명합니다.

참고

적용 대상: Machine Learning Studio(클래식)

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

이 옵션은 기계 학습 실험에서 Azure 테이블로 결과 또는 중간 데이터를 내보내려는 경우에 유용합니다. Azure Table Service는 다량의 구조적 비관계형 데이터를 저장할 수 있는 Azure의 데이터 관리 서비스입니다. Azure 내부 및 외부에서 인증된 호출을 수락하는 NoSQL 데이터 저장소입니다.

Azure 테이블로 데이터를 내보내는 방법

  1. 실험에 데이터 내보내기 모듈을 추가합니다. 이 모듈은 Studio(클래식)의 데이터 입력 및 출력 범주에서 찾을 수 있습니다.

  2. Azure Table Storage로 내보낼 데이터를 생성하는 모듈에 커넥트.

  3. 인증 유형 옵션을 설정하여 데이터를 공용 공유 리소스로 내보낼지 아니면 로그인 자격 증명이 필요한 프라이빗 스토리지 계정으로 내보낼지 여부를 지정합니다.

    • 공용(SAS URL): 계정이 SAS URL을 통한 액세스를 지원하는 경우 이 옵션을 선택합니다. 테이블 SAS URI 필드에 계정 및 공용 Blob을 정의하는 전체 URI를 입력하거나 붙여넣습니다.

      SAS URL은 Azure Storage 유틸리티를 사용하여 생성할 수 있는 시간 바인딩된 액세스 URL입니다. SAS URL을 통해 액세스할 수 있는 페이지에서 CSV, TSV 및 ARFF 형식만 사용하여 데이터를 저장할 수 있습니다.

    • 계정: 데이터가 개인 계정에 있는 경우 이 옵션을 선택합니다. 계정 이름 및 키를 포함한 자격 증명도 제공해야 합니다.

  4. 데이터를 안전한 프라이빗 스토리지로 내보내려면 계정에 액세스하는 데 필요한 자격 증명을 제공합니다.

    • 테이블 계정 이름: 액세스하려는 Blob이 포함된 계정의 이름을 입력하거나 붙여넣습니다. 예를 들어 스토리지 계정의 전체 URL이 https://myshared.table.core.windows.net면 입력 myshared합니다.

    • 테이블 계정 키: 스토리지 계정과 연결된 액세스 키를 붙여넣습니다.

    • 테이블 이름: 읽을 특정 테이블의 이름을 입력합니다.

  5. 테이블 저장소에 저장할 열과 열 속성을 사용하여 테이블 스키마를 정의하는 데 사용할 열을 지정합니다.

    • 파티션 키: Azure Storage 테이블에 저장된 데이터 세트를 분할하는 데 사용할 열을 선택합니다. Azure의 테이블은 저장소 노드에서 부하 분산을 지원하기 위해 분할됩니다. 모든 테이블 엔터티는 파티션별로 구성됩니다. 따라서 PartitionKey 속성은 모든 테이블 작업에 필요합니다.

    • Azure 테이블 행 키: RowKey 속성에 사용해야 하는 열을 선택합니다. RowKey 속성은 테이블의 모든 엔터티에 필요한 시스템 속성입니다. PartitionKey 속성과 함께 테이블의 모든 행에 대해 고유한 인덱스가 형성됩니다.

    참고

    RowKeyPartitionKey에 대해 다른 열을 사용해야 합니다. RowKey 또는 PartitionKey에 대해 선택한 열이 대상 열 목록에 포함되어 있는지 확인하거나 오류가 발생합니다.

    • Azure 테이블 원본 열: Azure 테이블에 저장할 데이터 세트에서 추가 열을 선택합니다. PartitionKeyRowKey에 대해 선택한 열도 포함해야 합니다.

    Azure Storage 테이블에 대한 자세한 내용은 Table Service 데이터 모델 이해를 참조하세요.

  6. 테이블에 쓸 열의 이름을 지정합니다.

    중요

    RowKey, PartitionKey 및 모든 원본 열을 포함하여 테이블에 출력하는 모든 열의 열 이름을 제공해야 합니다.

    입력한 열 이름 수가 출력 열 수와 일치하지 않으면 오류가 발생합니다.

    새 열 이름을 입력하는 경우 원본 열의 열 인덱스 순서대로 제공해야 합니다.

  7. Azure 테이블 쓰기 모드: 데이터가 Azure 테이블에 이미 있을 때 데이터 내보내 기가 작동하는 방식을 나타냅니다.

    • 삽입: 이 Insert Entity 작업은 PartitionKeyRowKey 속성의 조합으로 구성된 고유한 기본 키를 사용하여 새 엔터티를 삽입합니다.

    • 병합: 작업은 Merge Entity 엔터티의 속성을 업데이트하여 기존 엔터티를 업데이트합니다. 이 작업에서는 기존 엔터티를 바꾸지 않습니다.

    • 바꾸기: 이 Update Entity 작업은 테이블에서 지정된 엔터티의 내용을 대체합니다.

    • InsertOrReplace: InsertOrReplace Entity 엔터티가 없는 경우 작업이 엔터티를 삽입합니다. 엔터티가 있는 경우 기존 엔터티를 바꿉니다.

    • InsertOrMerge: InsertOrMerge Entity 엔터티가 없는 경우 작업이 엔터티를 삽입합니다. 엔터티가 있으면 제공된 엔터티 속성을 이미 있는 속성과 병합합니다.

  8. 캐시된 결과 사용: 실험을 실행할 때마다 데이터를 새로 고칠지 여부를 나타냅니다.

    이 옵션을 선택하면 데이터 내보내기 모듈은 실험을 처음 실행할 때 지정된 테이블에 데이터를 저장하고 업스트림 변경이 없는 한 쓰기를 수행하지 않습니다.

    이 옵션을 선택 취소하면 데이터가 같은지 여부에 관계없이 실험이 실행 될 때마다 데이터가 대상에 기록됩니다.

  9. 실험을 실행합니다.

기술 정보

이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.

일반적인 질문

기존 테이블에 쓸 때 오류가 발생한 이유

테이블의 스키마를 확인하여 열 이름 및 데이터 형식이 동일한지 확인합니다. 예를 들어 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 쿼리로 내보내기