데이터 가져오기
중요
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(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.
웹의 외부 원본에서 데이터를 로드합니다. 테이블, Blob 및 SQL 데이터베이스와 같은 Azure의 다양한 형태의 클라우드 기반 스토리지 및 온-프레미스 SQL Server 데이터베이스에서
범주: 데이터 입력 및 출력
모듈 개요
이 문서에서는 Machine Learning Studio(클래식)에서 데이터 가져오기 모듈을 사용하여 기존 클라우드 데이터 서비스에서 기계 학습 실험으로 데이터를 로드하는 방법을 설명합니다.
이제 이 모듈에는 스토리지 옵션을 선택하고 기존 구독 및 계정 중에서 선택하여 모든 옵션을 신속하게 구성하는 데 도움이 되는 마법사가 있습니다. 기존 데이터 연결을 편집해야 합니까? 문제 없음; 마법사는 처음부터 다시 시작할 필요가 없도록 모든 이전 구성 세부 정보를 로드합니다.
원하는 데이터를 정의하고 원본에 연결한 후 데이터 가져오기는 포함된 값에 따라 각 열의 데이터 형식을 유추하고 데이터를 Machine Learning Studio(클래식) 작업 영역에 로드합니다. 데이터 가져오기의 출력은 모든 실험에서 사용할 수 있는 데이터 세트입니다.
중요
현재 지원되는 스토리지 계정 유형에는 제한이 있습니다. 자세한 내용은 기술 정보를 참조하세요.
원본 데이터가 변경되면 데이터 가져오기를 다시 실행하여 데이터 세트를 새로 고치고 새 데이터를 추가할 수 있습니다. 그러나 실험을 실행할 때마다 원본에서 다시 읽지 않으려면 캐시된 결과 사용 옵션을 TRUE로 선택합니다. 이 옵션을 선택하면 모듈은 동일한 원본 및 동일한 입력 옵션을 사용하여 실험이 이전에 실행되었는지 여부를 확인합니다. 이전 실행이 발견되면 원본에서 데이터를 다시 로드하는 대신 캐시의 데이터가 사용됩니다.
참고
이 모듈의 이름은 이전에 Reader였습니다. 이전에 실험에서 판독기 모듈을 사용한 경우 실험을 새로 고칠 때 데이터 가져오기 로 이름이 변경됩니다.
데이터 원본
데이터 가져오기 모듈은 다음 데이터 원본을 지원합니다. 각 데이터 원본을 사용하는 방법에 대한 자세한 지침과 예제를 보려면 링크를 클릭합니다.
데이터를 저장해야 하는 방법 또는 위치를 잘 모르는 경우 데이터 과학 프로세스의 일반적인 데이터 시나리오인 Machine Learning 고급 분석 시나리오에 대한 이 가이드를 참조하세요.
데이터 원본 | 사용 |
---|---|
HTTP를 통한 웹 URL | HTTP를 사용하고 CSV, TSV, ARFF 또는 SvmLight 형식으로 제공된 웹 URL에서 호스트되는 데이터를 가져옵니다. |
하이브 쿼리 | Hadoop의 분산 스토리지에서 데이터를 가져옵니다. HiveQL 언어를 사용하여 원하는 데이터를 지정합니다. |
Azure SQL Database | Azure SQL Database 또는 Azure SQL Data Warehouse 데이터 가져오기 |
Azure Table | Azure Table Service에 저장된 데이터 가져오기 |
Azure Blob Storage에서 가져오기 | Azure Blob Service에 저장된 데이터 가져오기 |
데이터 피드 공급자 | OData 형식의 피드로 노출되는 데이터 가져오기 |
온-프레미스 SQL Server 데이터베이스에서 가져오기 | Microsoft 데이터 관리 Gateway를 사용하여 온-프레미스 SQL Server 데이터베이스에서 데이터 가져오기 |
Azure Cosmos DB | Azure Cosmos DB에서 JSON 형식으로 저장된 데이터를 가져옵니다. |
팁
JSON 형식으로 데이터를 가져와야 합니까? R과 Python 모두 REST API를 지원하므로 Python 스크립트 실행 또는 R 스크립트 실행 모듈을 사용하여 데이터를 구문 분석하고 Azure ML 데이터 세트로 저장합니다.
또는 MongoDB 포함하여 여러 JSON 저장소를 지원하는 CosmosDB용 SQL DB API를 사용하여 Azure Cosmos DB에서 가져오기 옵션을 사용하여 데이터를 읽습니다. 자세한 내용은 Azure Cosmos DB에서 가져오기를 참조하세요.
데이터 가져오기를 사용하는 방법
데이터 가져오기 모듈을 실험에 추가합니다. 이 모듈은 Studio(클래식)의 데이터 입력 및 출력 범주에서 찾을 수 있습니다.
데이터 가져오기 시작 마법사를 클릭하여 마법사를 사용하여 데이터 원본을 구성합니다.
마법사는 계정 이름 및 자격 증명을 가져오고 다른 옵션을 구성하는 데 도움이 됩니다. 기존 구성을 편집하는 경우 먼저 현재 값을 로드합니다.
마법사를 사용하지 않으려면 데이터 원본을 클릭하고 읽고 있는 클라우드 기반 스토리지 유형을 선택합니다.
추가 설정은 선택한 스토리지 유형과 스토리지의 보안 여부에 따라 달라집니다. 계정 이름, 파일 형식 또는 자격 증명을 제공해야 할 수 있습니다. 일부 원본에는 인증이 필요하지 않습니다. 다른 사용자의 경우 계정 이름, 키 또는 컨테이너 이름을 알아야 할 수 있습니다.
자세한 내용은 데이터 원본 목록을 참조하세요.
연속 실행에서 다시 사용하기 위해 데이터 세트를 캐시하려면 캐시된 결과 사용 옵션을 선택합니다.
모듈 매개 변수에 다른 변경 내용이 없다고 가정하면 실험은 모듈을 처음 실행할 때만 데이터를 로드하고 그 후에는 캐시된 버전의 데이터 세트를 사용합니다.
실험을 실행할 때마다 데이터를 다시 로드해야 하는 경우 이 옵션을 선택 취소합니다.
실험을 실행합니다.
데이터 가져오기가 Studio(클래식)로 데이터를 로드할 때 포함된 값(숫자 또는 범주)에 따라 각 열의 데이터 형식을 유추합니다.
헤더가 있으면 헤더를 사용하여 출력 데이터 집합의 열 이름을 지정합니다.
데이터에 기존 열 헤더가 없으면 col1, col2,… , coln*. 등의 형식을 사용하여 새 열 이름이 ,coln.
결과
가져오기가 완료되면 출력 데이터 세트를 클릭하고 시각화 를 선택하여 데이터를 성공적으로 가져왔는지 확인합니다.
실험을 실행할 때마다 새 데이터 집합을 가져오는 대신 다시 사용하기 위해 데이터를 저장하려면 출력을 마우스 오른쪽 단추 로 클릭하고 데이터 세트로 저장을 선택합니다. 데이터 세트의 이름을 선택합니다. 저장된 데이터 세트는 저장 시 데이터를 보존하며 실험의 데이터 세트가 변경되더라도 실험이 다시 실행되면 데이터가 업데이트되지 않습니다. 이는 데이터의 스냅샷을 찍는 데 유용할 수 있습니다.
데이터를 가져온 후 모델링 및 분석을 위해 다음과 같은 몇 가지 추가 준비가 필요할 수 있습니다.
메타데이터 편집을 사용하여 열 이름을 변경하거나, 열을 다른 데이터 형식으로 처리하거나, 일부 열이 레이블이나 기능임을 나타낼 수 있습니다.
데이터 세트의 열 선택을 사용하여 변환하거나 모델링에 사용할 열 하위 집합을 선택합니다. 변환되거나 제거된 열은 열 추가 모듈 또는 데이터 조인 모듈을 사용하여 원래 데이터 세트에 쉽게 다시 조 인할 수 있습니다.
파티션 및 샘플을 사용하여 데이터 세트를 나누거나, 샘플링을 수행하거나, 상위 n개 행을 가져옵니다.
SQL 변환 적용을 사용하여 SQL 문을 사용하여 데이터, 필터링 또는 변환을 집계합니다.
다음 모듈을 사용하여 텍스트 열을 정리하고 새 텍스트 기능을 생성합니다.
- 텍스트 전처리
- 텍스트에서 N-Gram 기능 추출
- 명명된 엔터티 인식
- Python 스크립트를 실행하여 nltk를 기반으로 사용자 지정 NLP를 구현합니다.
기술 정보
이 섹션에서는 데이터 가져오기 모듈의 알려진 문제 목록과 원본 유형과 관련이 없는 몇 가지 일반적인 문제 해결 정보를 제공합니다.
지원되는 계정 유형
Azure는 새 서비스 또는 새 스토리지 유형을 자주 릴리스합니다. 그러나 새 계정 유형에 대한 지원이 Machine Learning Studio(클래식)에서 구현되는 동안 일반적으로 지연이 있습니다.
현재 Machine Learning ZRS(영역 중복 스토리지)를 사용하는 계정을 제외하고 모든 범용 스토리지 계정을 지원합니다.
LRS(로컬 중복 스토리지) 및 지역 중복 스토리지 옵션이 지원됩니다.
블록 Blob은 지원되지만 추가 Blob은 지원되지 않습니다.
일반적인 질문 및 문제
이 섹션에서는 알려진 몇 가지 문제, 일반적인 질문 및 해결 방법을 설명합니다.
헤더는 단일 행이어야 합니다.
CSV 파일에서 가져오는 경우 Machine Learning 단일 헤더 행을 허용한다는 점에 유의하세요. 여러 줄 머리글을 삽입할 수 없습니다.
가져오기에서 지원되지만 내보낼 수 없는 사용자 지정 구분 기호
데이터 가져오기 모듈은 유럽에서 자주 사용되는 세미콜론(;))과 같은 대체 열 구분 기호를 사용하는 데이터 가져오기를 지원합니다. 외부 스토리지의 CSV 파일에서 데이터를 가져올 때 인코딩 옵션을 사용하여 CSV를 선택하고 지원되는 인코딩을 선택합니다.
그러나 CSV로 변환 모듈을 사용하여 내보낼 데이터를 준비할 때는 대체 구분 기호를 생성할 수 없습니다.
쉼표가 포함된 문자열 데이터의 열 분리가 잘못되었습니다.
열 구분 기호로 지정할 수 있는 거의 모든 문자(탭, 공백, 쉼표 등)도 텍스트 필드에서 임의로 찾을 수 있습니다. CSV에서 텍스트를 가져오려면 항상 불필요한 새 열 간에 텍스트를 구분하지 않도록 주의해야 합니다. 텍스트 처리에서 흔히 발생하는 문제이며 다른 방식으로 처리했을 수 있습니다.
쉼표가 포함된 문자열 데이터 열을 내보내려고 할 때도 문제가 발생할 수 있습니다. Machine Learning 따옴표로 문자열을 묶는 것과 같은 데이터의 특별한 처리 또는 특수 번역을 지원하지 않습니다. 또한 쉼표 앞에 이스케이프 문자를 사용하여 쉼표가 리터럴 문자로 처리되도록 할 수 없습니다. 결과적으로 문자열 필드에 있는 각 쉼표의 출력 파일에 새 필드가 만들어집니다.
내보내기 문제를 방지하려면 전처리 텍스트 모듈을 사용하여 문자열 필드에서 문장 부호 문자를 제거합니다.
사용자 지정 R 스크립트 또는 Python 스크립트 를 사용하여 복잡한 텍스트를 처리하고 데이터를 올바르게 가져오거나 내보낼 수 있는지 확인할 수도 있습니다.
UTF-8 인코딩 필요
Machine Learning UTF-8 인코딩이 필요합니다. 가져오는 데이터가 다른 인코딩을 사용하거나 다른 기본 인코딩을 사용하는 데이터 원본에서 내보낸 경우 텍스트에 다양한 문제가 나타날 수 있습니다.
예를 들어 다음 이미지에는 Excel 내보낸 다음 파일 형식과 인코딩의 네 가지 조합으로 Machine Learning 가져온 것과 동일한 다국어 데이터 세트가 포함되어 있습니다.
세 번째 예제는 CSV 형식으로 Excel 저장하는 동안 손실된 데이터를 나타냅니다. 그 당시 올바른 인코딩이 지정되지 않았기 때문입니다. 따라서 문제가 발생하면 가져오는 파일뿐만 아니라 원본에서 파일을 올바르게 내보냈는지 확인해야 합니다.
데이터 세트에 열 이름이 없습니다.
가져오는 데이터 세트에 열 이름이 없는 경우 "헤더 없음" 옵션 중 하나를 지정해야 합니다. 이렇게 하면 데이터 가져오기 는 Col1, Col2 등의 형식을 사용하여 기본 열 이름을 추가합니다. 나중에 메타데이터 편집 을 사용하여 열 이름을 수정합니다.
데이터 세트를 CSV 파일로 내보내는 경우 메타데이터 편집 을 사용하여 열 이름을 변환하거나 내보내기 전에 추가합니다.
지원되지 않는 데이터 원본에 대한 해결 방법
목록에 없는 원본에서 데이터를 가져와야 하는 경우 다음과 같은 다양한 해결 방법을 시도해 볼 수 있습니다.
컴퓨터의 파일에서 데이터를 업로드하려면 Studio에서 새로 만들기(클래식)를 클릭하고 데이터 세트를 선택한 다음 로컬 파일에서 선택합니다. 파일을 찾아 형식(TSV, CSV 등)을 지정합니다. 자세한 내용은 Studio(클래식)로 학습 데이터 가져오기를 참조하세요.
R 또는 Python을 사용합니다. 적절한 R 패키지와 함께 R 스크립트 실행 모듈을 사용하여 다른 클라우드 데이터베이스에서 데이터를 가져올 수 있습니다.
Python 스크립트 실행 모듈을 사용하면 다양한 원본에서 데이터를 읽고 변환할 수도 있습니다. Cortana Intelligence 갤러리에서 Microsoft 데이터 과학자의 다음 예제를 참조하세요.
AWS 클러스터에서 데이터를 가져옵니다. WebHCat 또는 HCatalog 엔드포인트를 사용하도록 설정된 일반 Hive 클러스터에 대해 쿼리를 실행할 수 있습니다. 또는 페이지로 게시하고 웹 URL에서 읽습니다.
MongoDB 데이터를 가져옵니다. Azure Cosmos DB에 대한 데이터 마이그레이션 유틸리티는 다양한 원본 및 형식을 지원합니다. 자세한 내용 및 예제는 Azure Cosmos DB: 데이터 마이그레이션 도구를 참조하세요.
더 많은 아이디어와 해결 방법은 Machine Learning 포럼 또는 Azure AI 갤러리를 참조하세요.
모듈 매개 변수
각 데이터 원본은 다른 옵션을 사용하여 구성해야 합니다. 이 표에는 모든 데이터 원본에 공통적인 옵션만 나열되어 있습니다.
Name | 범위 | Type | 기본값 | Description |
---|---|---|---|---|
데이터 원본 | 목록 | 데이터 원본 또는 싱크 | Azure 저장소의 blob 서비스 | 데이터 원본은 HTTP, 익명 HTTPS, Blob 서비스 또는 Table Service의 파일, Azure의 SQL 데이터베이스, Azure SQL Data Warehouse, Hive 테이블 또는 OData 엔드포인트일 수 있습니다. |
캐시된 결과 사용 | TRUE/FALSE | 부울 | FALSE | TRUE이면 모듈은 동일한 원본 및 동일한 입력 옵션을 사용하여 실험이 이전에 실행되었는지 확인하고, 이전 실행이 발견되면 캐시의 데이터가 사용됩니다. FALSE이거나 변경 내용이 발견되면 원본에서 데이터가 다시 로드됩니다. |
출력
Name | Type | Description |
---|---|---|
결과 데이터 집합 | 데이터 테이블 | 다운로드한 데이터가 포함된 데이터 집합입니다. |
예외
예외 | 설명 |
---|---|
오류 0027 | 두 개체의 크기가 같아야 하지만 다른 경우 예외가 발생합니다. |
오류 0003 | 입력 중 하나 이상이 null이거나 비어 있으면 예외가 발생합니다. |
오류 0029 | 잘못된 URI가 전달되면 예외가 발생합니다. |
오류 0030 | 파일을 다운로드할 수 없으면 예외가 발생합니다. |
오류 0002 | 하나 이상의 매개 변수를 구문 분석할 수 없거나 지정된 형식을 대상 방법에 필요한 형식으로 변환할 수 없으면 예외가 발생합니다. |
오류 0009 | Azure 저장소 계정 이름 또는 컨테이너 이름을 잘못 지정하는 경우 예외가 발생합니다. |
오류 0048 | 파일을 열 수 없으면 예외가 발생합니다. |
오류 0015 | 데이터베이스 연결에 실패하면 예외가 발생합니다. |
오류 0046 | 지정한 경로에 디렉터리를 만들 수 없으면 예외가 발생합니다. |
오류 0049 | 파일을 구문 분석할 수 없으면 예외가 발생합니다. |
Studio(클래식) 모듈과 관련된 오류 목록은 Machine Learning 오류 코드를 참조하세요.
API 예외 목록은 Machine Learning REST API 오류 코드를 참조하세요.