AWS Serverless Application Repository를 사용하여 Hive 데이터 소스 커넥터 배포 - Amazon Athena

AWS Serverless Application Repository를 사용하여 Hive 데이터 소스 커넥터 배포

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

AWS Serverless Application Repository를 사용하여 Hive용 데이터 원본 커넥터를 계정에 배포하려면
  1. AWS Management Console에 로그인하고 서버리스 앱 리포지토리를 엽니다.

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

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

  4. 검색 상자에 Hive을(를) 입력합니다. 나타나는 커넥터에는 다음 두 가지가 포함됩니다.

    • AthenaHiveMetastoreFunction – Uber Lambda 함수 .jar 파일.

    • AthenaHiveMetastoreFunctionWithLayer – Lambda 계층 및 thin Lambda 함수 .jar 파일.

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

  5. 삭제할 커넥터의 이름을 선택합니다. 이 자습서에서는 AthenaHiveMetastoreFunction을 사용합니다.

    Hive용 Athena 데이터 원본 커넥터의 이름을 선택합니다.
  6. 애플리케이션 설정(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 목록을 입력합니다(쉼표로 구분).

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

이때 Lambda 함수를 사용하여 Hive 메타스토어에 연결하도록 Athena를 구성할 수 있습니다. 단계는 배포된 Hive 메타스토어 커넥터를 사용하도록 Athena 구성를 참조하세요.