Azure Portal을 통해 Azure Data Factory에서 Hive 작업을 사용하여 Azure Virtual Network에서 데이터 변환
적용 대상: Azure Data Factory Azure Synapse Analytics
팁
기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!
이 자습서에서는 Azure Portal을 사용하여 Azure VNet(Virtual Network)에 있는 HDInsight 클러스터에서 Hive 활동을 통해 데이터를 변환하는 Data Factory 파이프라인을 만듭니다. 이 자습서에서 수행하는 단계는 다음과 같습니다.
- 데이터 팩터리를 만듭니다.
- 자체 호스팅 Integration Runtime 만들기
- Azure Storage 및 Azure HDInsight 연결된 서비스 만들기
- Hive 활동이 있는 파이프라인 만들기
- 파이프라인 실행 트리거
- 파이프라인 실행 모니터링
- 출력 확인
Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
사전 요구 사항
참고 항목
Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.
Azure Storage 계정입니다. Hive 스크립트를 만들어 Azure Storage에 업로드합니다. Hive 스크립트의 출력은 이 스토리지 계정에 저장됩니다. 이 샘플에서 HDInsight 클러스터는 이 Azure Storage 계정을 기본 스토리지로 사용합니다.
Azure Virtual Network. 아직 없는 경우 이 지침에 따라 Azure Virtual Network를 만듭니다. 이 샘플에서 HDInsight는 Azure Virtual Network에 있습니다. 다음은 Azure Virtual Network의 샘플 구성입니다.
HDInsight 클러스터. Azure Virtual Network를 사용하여 Azure HDInsight 확장 문서에 따라 HDInsight 클러스터를 만들고 이전 단계에서 만든 가상 네트워크에 조인합니다. 다음은 가상 네트워크에 속한 HDInsight의 샘플 구성입니다.
Azure PowerShell. Azure PowerShell을 설치 및 구성하는 방법의 지침을 따르세요.
가상 머신. Azure VM(가상 머신)을 만들고 HDInsight 클러스터가 포함된 동일한 가상 네트워크에 조인합니다. 자세한 내용은 가상 머신을 만드는 방법을 참조하세요.
Blob Storage 계정에 Hive 스크립트 업로드
다음 내용이 포함된 hivescript.hql이라는 Hive SQL 파일을 만듭니다.
DROP TABLE IF EXISTS HiveSampleOut; CREATE EXTERNAL TABLE HiveSampleOut (clientid string, market string, devicemodel string, state string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE LOCATION '${hiveconf:Output}'; INSERT OVERWRITE TABLE HiveSampleOut Select clientid, market, devicemodel, state FROM hivesampletable
Azure Blob Storage에 아직 없는 경우 adftutorial이라는 컨테이너를 만듭니다.
hivescripts라는 폴더를 만듭니다.
hivescript.hql 파일을 hivescripts 하위 폴더로 업로드합니다.
데이터 팩터리 만들기
아직 Data Factory를 만들지 않은 경우 빠른 시작: Azure Portal 및 Azure Data Factory Studio를 사용하여 Data Factory 만들기 단계에 따라 Data Factory를 만듭니다. 만든 후 Azure Portal에서 데이터 팩터리로 이동합니다.
Azure Data Factory Studio 열기 타일에서 열기를 선택하여 별도의 탭에서 데이터 통합 애플리케이션을 시작합니다.
자체 호스팅 Integration Runtime 만들기
Hadoop 클러스터는 가상 네트워크 내에 있으므로 동일한 가상 네트워크에 자체 호스팅 IR(통합 런타임)을 설치해야 합니다. 이 섹션에서는 새 VM을 만들고, 동일한 가상 네트워크에 조인하고, 자체 호스팅 IR을 설치합니다. 자체 호스팅 IR을 통해 Data Factory 서비스에서 처리 요청을 가상 네트워크 내의 HDInsight와 같은 컴퓨팅 서비스에 디스패치할 수 있습니다. 또한 가상 네트워크 내의 데이터 저장소에서 Azure로 데이터를 이동할 수 있습니다. 데이터 저장소 또는 컴퓨팅이 온-프레미스 환경에 있는 경우에도 자체 호스팅 IR을 사용합니다.
Azure Data Factory UI의 창 아래쪽에서 연결을 클릭하고, Integration Runtime 탭으로 전환한 다음, 도구 모음에서 + 새로 만들기 단추를 클릭합니다.
Integration Runtime 설정 창에서 Perform data movement and dispatch activities to external computes(데이터 이동을 수행하고 활동을 외부 계산으로 디스패치합니다) 옵션을 선택하고, 다음을 클릭합니다.
사설망을 선택하고 다음을 클릭합니다.
이름에 대해 MySelfHostedIR을 입력하고 다음을 클릭합니다.
복사 단추를 클릭하여 통합 런타임에 대한 인증 키를 복사하고 저장합니다. 창을 계속 열어 둡니다. 이 키를 사용하여 가상 머신에 설치한 IR을 등록합니다.
가상 머신에 IR 설치
Azure VM에서 자체 호스팅 통합 런타임을 다운로드합니다. 이전 단계에서 얻은 인증 키를 사용하여 자체 호스팅 통합 런타임을 수동으로 등록합니다.
자체 호스팅 통합 런타임이 성공적으로 등록되면 다음 메시지가 표시됩니다.
구성 관리자 시작을 클릭합니다. 노드가 클라우드 서비스에 연결되면 다음 페이지가 표시됩니다.
Azure Data Factory UI의 자체 호스팅 IR
Azure Data Factory UI에서 자체 호스팅 VM 이름의 이름과 해당 상태를 확인해야 합니다.
마침을 클릭하여 Integration Runtime 설정 창을 닫습니다. 자체 호스팅 IR이 통합 런타임 목록에 표시됩니다.
연결된 서비스 생성
이 섹션에서는 두 개의 연결된 서비스를 작성하고 배포합니다.
- Azure Storage 계정을 데이터 팩터리에 연결하는 Azure Storage 연결된 서비스. 이 스토리지는 HDInsight 클러스터에서 사용하는 기본 스토리지입니다. 이 경우 이 Azure Storage 계정을 사용하여 Hive 스크립트와 스크립트 출력을 저장합니다.
- HDInsight 연결된 서비스. Azure Data Factory는 실행을 위해 Hive 스크립트를 이 HDInsight 클러스터에 제출합니다.
Azure Storage 연결된 서비스 만들기
연결된 서비스 탭으로 전환하고 새로 만들기를 클릭합니다.
새 연결된 서비스 창에서 Azure Blob Storage를 선택하고 계속을 클릭합니다.
새 연결된 서비스 창에서 다음 단계를 수행합니다.
이름에 대해 AzureStorageLinkedService를 입력합니다.
통합 런타임을 통해 연결에 대해 MySelfHostedIR을 선택합니다.
스토리지 계정 이름에 대해 Azure Storage 계정을 선택합니다.
스토리지 계정에 대한 연결을 테스트하려면 연결 테스트를 클릭합니다.
저장을 클릭합니다.
HDInsight 연결된 서비스 만들기
새로 만들기 단추를 다시 클릭하여 또 하나의 연결된 서비스를 만듭니다.
컴퓨팅 탭으로 전환하고, Azure HDInsight를 선택하고, 계속을 클릭합니다.
새 연결된 서비스 창에서 다음 단계를 수행합니다.
이름에 대해 AzureHDInsightLinkedService를 입력합니다.
Bring your own HDInsight(사용자 고유 HDInsight 가져오기)를 선택합니다.
Hdi 클러스터에 대해 HDInsight 클러스터를 선택합니다.
HDInsight 클러스터에 대한 사용자 이름을 입력합니다.
사용자에 대한 암호를 입력합니다.
이 문서에서는 인터넷을 통해 클러스터에 액세스할 수 있다고 가정합니다. 예를 들어 https://clustername.azurehdinsight.net
에 있는 클러스터에 연결할 수 있습니다. 이 주소는 NSG(네트워크 보안 그룹) 또는 UDR(사용자 정의 경로)을 사용하여 인터넷 액세스를 제한한 경우 사용할 수 없는 공용 게이트웨이를 사용합니다. Data Factory에서 Azure Virtual Network의 HDInsight 클러스터에 작업을 제출하려면, URL을 HDInsight에서 사용하는 게이트웨이의 개인 IP 주소로 확인할 수 있도록 Azure Virtual Network를 구성해야 합니다.
Azure Portal에서 HDInsight가 있는 Virtual Network를 엽니다. 이름이
nic-gateway-0
으로 시작하는 네트워크 인터페이스를 엽니다. 개인 IP 주소를 적어 둡니다. 예를 들어 10.6.0.15입니다.Azure Virtual Network에 DNS 서버가 있는 경우
https://<clustername>.azurehdinsight.net
HDInsight 클러스터 URL을10.6.0.15
로 확인할 수 있도록 DNS 레코드를 업데이트합니다. Azure Virtual Network에 DNS 서버가 없으면, 자체 호스팅 통합 런타임 노드로 등록된 모든 VM의 호스트 파일(C:\Windows\System32\drivers\etc)을 편집하여 다음과 비슷한 항목을 추가함으로써 이 문제를 일시적으로 해결할 수 있습니다.10.6.0.15 myHDIClusterName.azurehdinsight.net
파이프라인을 만듭니다.
이 단계에서는 Hive 작업이 있는 새 파이프라인을 만듭니다. 이 작업은 Hive 스크립트를 실행하여 샘플 테이블의 데이터를 반환하고 사용자가 정의한 경로에 저장합니다.
다음 사항에 유의하세요.
- scriptPath는 MyStorageLinkedService에 사용한 Azure Storage 계정의 Hive 스크립트 경로를 가리킵니다. 경로는 대/소문자를 구분합니다.
- output은 Hive 스크립트에서 사용되는 인수입니다.
wasbs://<Container>@<StorageAccount>.blob.core.windows.net/outputfolder/
형식을 사용하여 Azure Storage의 기존 폴더를 가리킵니다. 경로는 대/소문자를 구분합니다.
Data Factory UI의 왼쪽 창에서 +(더하기)를 클릭하고, 파이프라인을 클릭합니다.
활동 도구 상자에서 HDInsight를 펼치고, Hive 활동을 파이프라인 디자이너 화면으로 끌어서 놓습니다.
속성 창에서 HDI 클러스터 탭으로 전환하고, HDInsight 연결된 서비스에 대해 AzureHDInsightLinkedService를 선택합니다.
스크립트 탭으로 전환하고 다음 단계를 수행합니다.
스크립트 연결된 서비스에 대해 AzureStorageLinkedService를 선택합니다.
파일 경로에서 스토리지 찾아보기를 클릭합니다.
파일 또는 폴더 선택 창에서 adftutorial 컨테이너의 hivescripts 폴더로 이동하고, hivescript.hql을 선택하고, 마침을 클릭합니다.
파일 경로에서 adftutorial/hivescripts/hivescript.hql이 표시되는지 확인합니다.
스크립트 탭에서 고급 섹션을 펼칩니다.
매개 변수에 대해 스크립트에서 자동 채우기를 클릭합니다.
출력 매개 변수에 대한 값을
wasbs://<Blob Container>@<StorageAccount>.blob.core.windows.net/outputfolder/
형식으로 입력합니다. 예:wasbs://adftutorial@mystorageaccount.blob.core.windows.net/outputfolder/
Data Factory에 아티팩트를 게시하려면 게시를 클릭합니다.
파이프라인 실행 트리거
먼저 도구 모음에서 유효성 검사 단추를 클릭하여 파이프라인에 대한 유효성을 검사합니다. 오른쪽 화살표(>>)를 클릭하여 파이프라인 유효성 검사 출력 창을 닫습니다.
파이프라인 실행을 트리거하려면 도구 모음에서 트리거, 지금 트리거를 차례로 클릭합니다.
파이프라인 실행 모니터링
왼쪽의 모니터 탭으로 전환합니다. 파이프라인 실행 목록에 파이프라인 실행이 표시됩니다.
목록을 새로 고치려면 새로 고침을 클릭합니다.
파이프라인 실행과 연결된 활동 실행을 보려면 작업 열에서 활동 실행 보기를 클릭합니다. 다른 작업 링크는 파이프라인을 중지/다시 실행하기 위한 링크입니다.
HDInsightHive 유형의 파이프라인에는 하나의 활동만 있으므로 하나의 활동 실행만 표시됩니다. 이전 보기로 다시 전환하려면 위쪽의 파이프라인 링크를 클릭합니다.
adftutorial 컨테이너의 outputfolder에 있는 출력 파일이 표시되는지 확인합니다.
관련 콘텐츠
이 자습서에서 다음 단계를 수행했습니다.
- 데이터 팩터리를 만듭니다.
- 자체 호스팅 Integration Runtime 만들기
- Azure Storage 및 Azure HDInsight 연결된 서비스 만들기
- Hive 활동이 있는 파이프라인 만들기
- 파이프라인 실행 트리거
- 파이프라인 실행 모니터링
- 출력 확인
Azure에서 Spark 클러스터를 사용하여 데이터를 변환하는 방법을 알아보려면 다음 자습서로 진행하세요.