기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
데이터 카탈로그를 외부 Hive 메타스토어에 연결
를 Hive 메타스토어 AWS Glue Data Catalog 에 연결하려면 GlueDataCatalogFederation-HiveMetastore
AWS SAM 애플리케이션은 Lambda 함수를 사용하여 Amazon API Gateway 뒤에 Hive 메타스토어에 대한 연결을 생성합니다. AWS SAM 애플리케이션은 균일한 리소스 식별자(URI)를 사용자의 입력으로 사용하고 외부 Hive 메타스토어를 데이터 카탈로그에 연결합니다. 사용자가 Hive 테이블에서 쿼리를 실행하면 Data Catalog가 API Gateway 엔드포인트를 호출합니다. 엔드포인트는 Lambda 함수를 호출하여 Hive 테이블의 메타데이터를 검색합니다.
데이터 카탈로그를 Hive 메타스토어에 연결하고 권한을 설정하려면
-
AWS SAM 애플리케이션을 배포합니다.
에 로그인 AWS Management Console 하고 를 엽니다 AWS Serverless Application Repository.
탐색 창에서 사용 가능한 애플리케이션을 선택합니다.
-
퍼블릭 애플리케이션을 선택합니다.
사용자 지정 IAM 역할 또는 리소스 정책을 생성하는 앱 표시 옵션을 선택합니다.
검색 상자에 이름 GlueDataCatalogFederation-HiveMetastore를 입력합니다.
-
GlueDataCatalogFederation-HiveMetastore 애플리케이션을 선택합니다.
-
애플리케이션 설정에서 Lambda 함수에 필요한 최소 설정을 다음과 같이 입력합니다.
애플리케이션 이름 - AWS SAM 애플리케이션의 이름입니다.
GlueConnectionName - 연결의 이름입니다.
HiveMetastoreURIs - Hive 메타스토어 호스트URI의 .
-
LambdaMemory - 128-10240에서 MB로 표시되는 Lambda 메모리의 양입니다. 기본값은 1024입니다.
LambdaTimeout - 최대 Lambda 호출 런타임을 초 단위로 표시합니다. 기본값은 30입니다.
VPCSecurityGroupIds 및 VPCSubnetIds - Hive 메타스토어가 VPC 있는 에 대한 정보입니다.
이 앱이 사용자 지정 IAM 역할 및 리소스 정책 을 생성함을 확인합니다를 선택합니다. 자세한 내용을 보려면 정보 링크를 선택하세요.
애플리케이션 설정(Application settings) 섹션의 오른쪽 하단에서 배포(Deploy)를 선택합니다. 배포가 완료되면 Lambda 콘솔의 리소스 섹션에 Lambda 함수가 나타납니다.
애플리케이션이 Lambda에 배포됩니다. 이 이름 앞에는 애플리케이션이 에서 배포되었음을 나타내는 serverlessrepo-가 붙어 있습니다 AWS Serverless Application Repository. 애플리케이션을 선택하면 배포된 애플리케이션의 각 리소스가 나열된 리소스 페이지로 이동합니다. 리소스에는 데이터 카탈로그와 Hive 메타스토어, AWS Glue 연결 및 데이터베이스 페더레이션에 필요한 기타 리소스 간의 통신을 허용하는 Lambda 함수가 포함됩니다.
-
데이터 카탈로그에서 페더레이션형 데이터베이스를 만듭니다.
Hive 메타스토어에 대한 연결을 생성한 후 Data Catalog에서 외부 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;