기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
데이터 카탈로그를 외부 Hive 메타스토어에 연결
Hive 메타스토어에 연결하려면 -라는 애플리케이션을 배포해야 합니다. AWS Glue Data CatalogAWS SAM GlueDataCatalogFederation HiveMetastore
AWS SAM애플리케이션은 Lambda 함수를 사용하여 Amazon API Gateway를 기반으로 하는 Hive 메타스토어에 대한 연결을 생성합니다. AWS SAM애플리케이션은 사용자의 입력으로 유니폼 리소스 식별자 (URI) 를 사용하고 외부 Hive 메타스토어를 데이터 카탈로그에 연결합니다. 사용자가 Hive 테이블에서 쿼리를 실행할 때마다 데이터 카탈로그는 API Gateway 엔드포인트를 호출합니다. 엔드포인트는 Lambda 함수를 호출하여 Hive 테이블의 메타데이터를 검색합니다.
데이터 카탈로그를 Hive 메타스토어에 연결하고 권한을 설정하려면
-
애플리케이션을 배포하십시오. AWS SAM
에 AWS Management Console 로그인하고 를 엽니다AWS Serverless Application Repository.
탐색 창에서 사용 가능한 애플리케이션을 선택합니다.
-
공용 애플리케이션을 선택합니다.
사용자 지정 IAM 역할 또는 리소스 정책을 만드는 앱 표시(Show apps that create custom IAM roles or resource policies) 옵션을 선택합니다.
검색 상자에 이름 GlueDataCatalogFederation-을 입력합니다HiveMetastore.
-
GlueDataCatalogFederation- HiveMetastore 애플리케이션을 선택합니다.
-
애플리케이션 설정에서 Lambda 함수에 필요한 최소 설정을 다음과 같이 입력합니다.
애플리케이션 이름 - 애플리케이션의 AWS SAM 이름.
GlueConnectionName- 연결 이름.
HiveMetastoreURI - Hive 메타스토어 호스트의 URI입니다.
-
LambdaMemory- 람다 메모리의 양 (MB) 은 128-10240입니다. 기본값은 1024입니다.
LambdaTimeout- 최대 Lambda 호출 런타임 (초). 기본값은 30입니다.
VPC 및 SecurityGroupIds VPC SubnetIds - Hive 메타스토어가 있는 VPC에 대한 정보입니다.
이 앱이 사용자 지정 IAM 역할 및 리소스 정책을 생성하는 것을 확인(I acknowledge that this app creates custom IAM roles and resource policies)을 선택합니다. 자세한 내용을 보려면 정보 링크를 선택하세요.
애플리케이션 설정(Application settings) 섹션의 오른쪽 하단에서 배포(Deploy)를 선택합니다. 배포가 완료되면 Lambda 콘솔의 리소스 섹션에 Lambda 함수가 나타납니다.
애플리케이션이 Lambda에 배포되고 이름 앞에 serverlessrepo-가 추가되어 애플리케이션이 에서 배포되었음을 나타냅니다. AWS Serverless Application Repository 애플리케이션을 선택하면 배포된 애플리케이션의 각 리소스가 나열된 리소스 페이지로 이동합니다. 리소스에는 데이터 카탈로그와 Hive 메타스토어, AWS Glue 연결 및 데이터베이스 페더레이션에 필요한 기타 리소스 간의 통신을 허용하는 Lambda 함수가 포함됩니다.
-
데이터 카탈로그에 페더레이션된 데이터베이스를 생성합니다.
Hive 메타스토어에 대한 연결을 만든 후에는 외부 Hive 메타스토어 데이터베이스를 가리키는 데이터 카탈로그에서 페더레이션된 데이터베이스를 만들 수 있습니다. 연결하려는 모든 Hive 메타스토어 데이터베이스의 데이터 카탈로그에 해당하는 데이터베이스를 만들어야 합니다.
-
페더레이션된 데이터베이스의 테이블 보기.
페더레이션된 데이터베이스를 생성한 후에는 Lake Formation 콘솔 또는 를 사용하여 Hive 메타스토어의 테이블 목록을 볼 수 있습니다. AWS CLI
-
권한을 부여하세요.
데이터베이스를 생성한 후에는 계정의 다른 IAM 사용자 및 역할 또는 외부 AWS 계정 IAM 사용자 및 역할에 권한을 부여할 수 있습니다. AWS Organizations 페더레이션된 데이터베이스에는 데이터 쓰기 권한 (삽입, 삭제) 및 메타데이터 권한 (변경, 삭제, 생성) 을 부여할 수 없습니다. 권한 부여에 대한 자세한 내용은 을 참조하십시오. 호수 형성 권한 관리
-
페더레이션된 데이터베이스를 쿼리하십시오.
권한을 부여한 후 사용자는 Athena와 Amazon Redshift를 사용하여 로그인하고 페더레이션된 데이터베이스를 쿼리하기 시작할 수 있습니다. 이제 사용자는 로컬 데이터베이스 이름을 사용하여 SQL 쿼리에서 Hive 데이터베이스를 참조할 수 있습니다.
Athena 쿼리 구문 예시
를 이전에 만든 로컬 데이터베이스 이름으로
fed_glue_db
바꾸십시오.Select * from fed_glue_db.customers limit 10;