

# AWS Serverless Application Repository를 사용하여 Hive 데이터 소스 커넥터 배포
<a name="connect-data-source-sar-hive"></a>

Hive용 Athena 데이터 원본 커넥터를 배포하려면 Athena 콘솔로 시작하는 대신 [AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/)를 사용합니다. AWS Serverless Application Repository로 사용할 커넥터를 찾고 커넥터에 필요한 파라미터를 제공한 다음 계정에 커넥터를 배포합니다. 그런 다음 커넥터를 배포한 후 Athena 콘솔을 사용하여 Athena에서 데이터 원본을 사용할 수 있도록 합니다.

**AWS Serverless Application Repository를 사용하여 Hive용 데이터 원본 커넥터를 계정에 배포하려면**

1. AWS Management Console에 로그인하고 **서버리스 앱 리포지토리**를 엽니다.

1. 탐색 창에서 **사용 가능한 애플리케이션**을 선택합니다.

1. **사용자 지정 IAM 역할 또는 리소스 정책을 만드는 앱 표시(Show apps that create custom IAM roles or resource policies)** 옵션을 선택합니다.

1. 검색 상자에 **Hive**을(를) 입력합니다. 나타나는 커넥터에는 다음 두 가지가 포함됩니다.
   + **AthenaHiveMetastoreFunction** – Uber Lambda 함수 `.jar` 파일.
   + **AthenaHiveMetastoreFunctionWithLayer** – Lambda 계층 및 thin Lambda 함수 `.jar` 파일.

    두 애플리케이션은 동일한 기능을 가지며 구현만 다릅니다. 둘 중 하나를 사용하여 Hive 메타스토어에 Athena를 연결하는 Lambda 함수를 만들 수 있습니다.

1. 삭제할 커넥터의 이름을 선택합니다. 이 자습서에서는 **AthenaHiveMetastoreFunction**을 사용합니다.  
![Hive용 Athena 데이터 원본 커넥터의 이름을 선택합니다.](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/connect-data-source-sar-hive-1.png)

1. **애플리케이션 설정(Application settings)**에서 Lambda 함수에 대한 파라미터를 입력합니다.
   + **LambdaFuncName** – 함수의 이름을 제공합니다. **myHiveMetastore**를 예로 들 수 있습니다.
   + **SpillLocation** – Lambda 함수 응답 크기가 4MB를 초과하는 경우 분산 메타데이터를 보관할 이 계정의 Amazon S3 위치를 지정합니다.
   + **HMSUris** – 포트 9083에서 Thrift 프로토콜을 사용하는 Hive 메타스토어 호스트의 URI를 입력합니다. `thrift://<host_name>:9083` 구문을 사용합니다.
   + **LambdaMemory** - 128MB \~ 3008MB 사이의 값을 지정합니다. Lambda 함수는 사용자가 구성하는 메모리 양에 비례하여 할당된 CPU 주기입니다. 기본값은 1024입니다.
   + **LambdaTimeout** – 허용되는 최대 Lambda 호출 실행 시간을 1초 단위로 1\~900초 범위에서 지정합니다(900초는 15분). 기본값은 300초(5분)입니다.
   + **VPCSecurityGroupIds** – Hive 메타스토어에 대한 VPC 보안 그룹 ID 목록을 입력합니다(쉼표로 구분).
   + **VPCSubnetIds** – Hive 메타스토어에 대한 VPC 서브넷 ID 목록을 입력합니다(쉼표로 구분).

1. **애플리케이션 세부 정보(Application details)** 페이지의 오른쪽 아래에서 **이 앱에서 사용자 지정 IAM 역할을 생성하는 것을 인정합니다(I acknowledge that this app creates custom IAM roles)**를 선택하고 **배포(Deploy)**를 선택합니다.

이때 Lambda 함수를 사용하여 Hive 메타스토어에 연결하도록 Athena를 구성할 수 있습니다. 단계는 [배포된 Hive 메타스토어 커넥터를 사용하도록 Athena 구성](connect-data-source-hive-existing-lambda.md)를 참조하세요.