기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
데이터 카탈로그를 외부 Hive 메타스토어에 연결
Hive 메타스토어에 AWS Glue Data Catalog 연결하려면 -라는 애플리케이션을 배포해야 합니다. AWS 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 콘솔 또는 AWS CLI를 사용하여 Hive 메타스토어의 테이블 목록을 볼 수 있습니다.
-
권한을 부여합니다.
데이터베이스를 생성한 후에는 계정의 다른 IAM 사용자 및 역할 또는 외부 AWS 계정 및 조직에 권한을 부여할 수 있습니다. 페더레이션된 데이터베이스에는 데이터 쓰기 권한 (삽입, 삭제) 및 메타데이터 권한 (변경, 삭제, 생성) 을 부여할 수 없습니다. 권한 부여에 대한 자세한 내용은 Lake Formation 권한 관리 섹션을 참조하세요.
-
페더레이션형 데이터베이스 쿼리
권한 부여 후 사용자는 Athena 및 Amazon Redshift를 사용하여 로그인하고 페더레이션형 데이터베이스 쿼리를 시작할 수 있습니다. 이제 사용자는 로컬 데이터베이스 이름을 사용하여 SQL 쿼리에서 Hive 데이터베이스를 참조할 수 있습니다.
쿼리 구문 예시 Amazon Athena
이전에 만든 로컬 데이터베이스
fed_glue_db
이름으로 바꿉니다.Select * from fed_glue_db.customers limit 10;