Hive 쿼리로 내보내기
중요
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(클래식)의 데이터 내보내기 모듈에서 Hive로 데이터 내보내기 옵션을 사용하는 방법을 설명합니다. 이 옵션은 매우 큰 데이터 세트를 사용하고 기계 학습 실험 데이터를 Hadoop 클러스터 또는 HDInsight 분산 스토리지에 저장하려는 경우에 유용합니다. MapReduce 작업을 사용하여 처리할 수 있도록 중간 결과 또는 기타 데이터를 Hadoop으로 내보낼 수도 있습니다.
Hive로 데이터를 내보내는 방법
실험에 데이터 내보내기 모듈을 추가합니다. 이 모듈은 Machine Learning Studio(클래식)의 데이터 입력 및 출력 범주에서 찾을 수 있습니다.
내보낼 데이터 세트에 모듈을 커넥트.
데이터 원본의 경우 Hive 쿼리를 선택합니다.
Hive 테이블 이름의 경우 데이터 세트를 저장할 Hive 테이블의 이름을 입력합니다.
HCatalog 서버 URI 텍스트 상자에 클러스터의 정규화된 이름을 입력합니다.
예를 들어 이름을
mycluster001
가진 클러스터를 만든 경우 다음 형식을 사용합니다.https://mycluster001.azurehdinsight.net
Hadoop 사용자 계정 이름 텍스트 상자에 클러스터를 프로비전할 때 사용한 Hadoop 사용자 계정을 붙여넣습니다.
Hadoop 사용자 계정 암호 텍스트 상자에 클러스터를 프로비전할 때 사용한 자격 증명을 입력합니다.
출력 데이터의 위치에 대해 데이터를 저장해야 하는 위치를 나타내는 옵션(HDFS 또는 Azure)을 선택합니다.
데이터가 HDFS(Hadoop 분산 파일 시스템)에 있는 경우 방금 입력한 것과 동일한 계정 및 암호를 통해 액세스할 수 있어야 합니다.
데이터가 Azure에 있는 경우 스토리지 계정의 위치와 자격 증명을 제공합니다.
HDFS 옵션을 선택한 경우 HDFS 서버 URI의 경우 접두사 없이
https://
HDInsight 클러스터 이름을 지정합니다.Azure 옵션을 선택한 경우 스토리지 계정 이름과 모듈이 스토리지에 연결하는 데 사용할 수 있는 자격 증명을 제공합니다.
Azure Storage 계정 이름: Azure 계정의 이름을 입력합니다. 예를 들어 스토리지 계정의 전체 URL이
https://myshared.blob.core.windows.net
면 입력myshared
합니다.Azure Storage 키: 스토리지 계정에 액세스하기 위해 제공되는 키를 복사하여 붙여넣습니다.
Azure 컨테이너 이름: 클러스터의 기본 컨테이너 를 지정합니다. 기본 컨테이너를 파악하는 방법에 대한 팁은 기술 정보 섹션을 참조하세요.
캐시된 결과 사용: 실험을 실행할 때마다 Hive 테이블을 다시 작성하지 않으려면 이 옵션을 선택합니다. 모듈 매개 변수에 대한 다른 변경 내용이 없는 경우 실험은 모듈이 처음 실행되거나 데이터가 변경된 경우에만 Hive 테이블을 씁니다.
실험을 실행할 때마다 Hive 테이블을 작성하려면 캐시된 결과 사용 옵션을 선택 취소합니다.
실험을 실행합니다.
예
데이터 내보내기 모듈을 사용하는 방법에 대한 예제는 Azure AI 갤러리를 참조하세요.
- 작동 중인 고급 분석 프로세스 및 기술: HDInsight Hadoop 클러스터 사용: 이 문서에서는 Hive를 사용하여 클러스터를 만들고, 데이터를 업로드하고, Studio(클래식)에서 데이터를 호출하는 방법에 대한 자세한 연습을 제공합니다.
기술 정보
이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.
일반적인 질문
큰 데이터 세트를 작성할 때 메모리 부족 문제를 방지하는 방법
Hadoop 클러스터의 기본 구성이 너무 제한되어 MapReduce 작업 실행을 지원하지 않는 경우가 있습니다. 예를 들어 HDInsight에 대한 이러한 릴리스 정보 에서 기본 설정은 4노드 클러스터로 정의됩니다.
MapReduce 작업의 요구 사항이 사용 가능한 용량을 초과하는 경우 Hive 쿼리는 메모리 부족 오류 메시지를 반환하여 데이터 내보내기 작업이 실패할 수 있습니다. 이 경우 Hive 쿼리에 대한 기본 메모리 할당을 변경할 수 있습니다.
동일한 데이터를 불필요하게 다시 로드하지 않는 방법
실험을 실행할 때마다 Hive 테이블을 다시 만들지 않으려면 캐시된 결과 사용 옵션을 TRUE로 선택합니다. 이 옵션을 TRUE로 설정하면 모듈은 실험이 이전에 실행되었는지 여부를 확인하고 이전 실행이 발견되면 쓰기 작업이 수행되지 않습니다.
사용 팁
클러스터의 기본 컨테이너를 파악하기 어려울 수 있습니다. 다음은 몇 가지 팁입니다.
기본 설정을 사용하여 클러스터를 만든 경우 클러스터를 만든 것과 동시에 이름이 같은 컨테이너가 만들어졌습니다. 해당 컨테이너는 클러스터의 기본 컨테이너입니다.
CUSTOM CREATE 옵션을 사용하여 클러스터를 만든 경우 기본 컨테이너를 선택하는 두 가지 옵션이 제공됩니다.
기존 컨테이너: 기존 컨테이너를 선택한 경우 해당 컨테이너는 클러스터의 기본 스토리지 컨테이너입니다.
기본 컨테이너 만들기: 이 옵션을 선택한 경우 클러스터와 이름이 같은 컨테이너가 만들어졌으며 해당 컨테이너 이름을 클러스터의 기본 컨테이너로 지정해야 합니다.
모듈 매개 변수
Name | 범위 | Type | 기본값 | 설명 |
---|---|---|---|---|
데이터 원본 | 목록 | 데이터 원본 또는 싱크 | Azure Blob Storage | 데이터 원본은 HTTP/FTP/익명 HTTP 또는 FTPS, Azure Blob 저장소의 파일, Azure 테이블, Azure SQL 데이터베이스, 하이브 테이블 또는 OData 엔드포인트일 수 있습니다. |
Hive 테이블 이름 | any | String | 없음 | Hive의 테이블 이름 |
HCatalog 서버 URI | any | String | 없음 | Templeton 엔드포인트 |
Hadoop 사용자 계정 이름 | any | String | 없음 | Hadoop HDFS/HDInsight 사용자 이름 |
Hadoop 사용자 계정 암호 | any | SecureString | 없음 | Hadoop HDFS/HDInsight 암호 |
출력 데이터의 위치 | any | DataLocation | HDFS | outputDir에 HDFS 또는 Azure 지정 |
HDFS 서버 URI | any | String | 없음 | HDFS rest 엔드포인트 |
Azure Storage 계정 이름 | any | String | 없음 | Azure Storage 계정 이름 |
Azure Storage 키 | any | SecureString | 없음 | Azure Storage 키 |
Azure 컨테이너 이름 | any | String | 없음 | Azure 컨테이너 이름 |
캐시된 결과 사용 | 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에 내보내기
Azure Table로 내보내기