Athena의 테이블, 데이터베이스, 데이터 카탈로그 이해
Athena에서 카탈로그, 데이터베이스 및 테이블은 기본 소스 데이터에 대한 스키마를 정의하는 메타데이터 정의를 위한 컨테이너입니다.
Athena는 다음 용어를 사용하여 데이터 객체의 계층 구조를 참조합니다.
-
데이터 소스 - 데이터베이스 그룹
-
데이터베이스 - 테이블 그룹
-
테이블 - 행 또는 열 그룹으로 구성된 데이터
때때로 이 객체는 다음과 같이 동등한 대체 이름으로 참조되기도 합니다.
-
데이터 소스를 카탈로그라고도 합니다.
-
데이터베이스를 스키마라고도 합니다.
참고
이 용어는 Athena에서 사용하는 페더레이션된 데이터 소스에 따라 다를 수 있습니다. 자세한 내용은 페더레이션 테이블 이름 한정자 이해 단원을 참조하십시오.
각 데이터 세트에 대한 테이블이 Athena에 있어야 합니다. 테이블의 메타데이터는 Amazon S3의 데이터 위치를 Athena에 알려주고, 데이터의 구조(예: 열 이름, 데이터 유형 및 테이블 이름)를 지정합니다. 데이터베이스는 테이블의 논리적 그룹이며 데이터 세트에 대한 메타데이터와 스키마 정보만 보유합니다.
쿼리하려는 각 데이터 세트에 대해 쿼리 결과를 얻고 반환하는 데 사용할 기본 테이블이 Athena에 있어야 합니다. 따라서 데이터를 쿼리하기 전에 테이블이 Athena에 등록되어 있어야 합니다. 자동 또는 수동으로 테이블을 만들면 등록이 이루어집니다.
AWS Glue 크롤러를 사용하여 테이블을 자동으로 생성할 수 있습니다. AWS Glue 및 크롤러에 대한 자세한 내용은 AWS Glue Data Catalog을 사용하여 데이터에 연결 섹션을 참조하세요. AWS Glue는 테이블을 생성할 때 자신의 AWS Glue 데이터 카탈로그에 해당 테이블을 등록합니다. Athena는 AWS Glue 데이터 카탈로그를 사용하여 이 메타데이터를 저장하고 검색하며, 기본 데이터 세트를 분석하기 위해 쿼리를 실행할 때 사용합니다.
테이블 생성 방법에 관계없이 테이블 생성 프로세스는 Athena를 통해 데이터 세트를 등록합니다. AWS Glue Data Catalog에서 이 등록이 이루어지며, 등록하면 Athena가 데이터에 대해 쿼리를 실행할 수 있게 됩니다. Athena 쿼리 편집기에서 이 카탈로그(또는 데이터 소스)는 AwsDataCatalog
레이블로 참조됩니다.
테이블을 만든 후에는 SQL SELECT 문을 사용하여 테이블을 쿼리해서 원본 데이터의 특정 파일 위치 가져오기 등을 수행할 수 있습니다. 쿼리 결과는 Amazon S3의 지정된 쿼리 결과 위치에 저장됩니다.
AWS Glue 데이터 카탈로그는 Amazon Web Services 계정 전반에서 액세스할 수 있습니다. 다른 AWS 서비스도 AWS Glue 데이터 카탈로그를 공유할 수 있으므로 Athena를 사용하여 조직 전체에서 생성된 데이터베이스와 테이블을 볼 수 있으며 그 반대의 경우도 마찬가지입니다.
-
수동으로 테이블을 생성하려면
-
Athena 콘솔을 사용하여 테이블 만들기 마법사를 실행합니다.
-
Athena 콘솔을 사용하여 쿼리 편집기에서 Hive DDL 문을 작성합니다.
-
Athena API 또는 CLI를 사용해 DDL 문으로 SQL 쿼리 문자열을 실행합니다.
-
Athena JDBC 또는 ODBC 드라이버를 사용합니다.
-
테이블 및 데이터베이스를 수동으로 생성하는 경우 Athena는 내부적으로 CREATE TABLE
, CREATE DATABASE
, DROP TABLE
등의 HiveQL 데이터 정의 언어(DDL) 문을 사용하여 AWS Glue Data Catalog에 테이블과 데이터베이스를 생성합니다.
시작하려면 Athena 콘솔에서 자습서를 사용하거나 Athena 설명서의 단계별 안내서를 살펴보세요.
-
Athena 콘솔에서 자습서를 사용하려면 콘솔 오른쪽 상단에 있는 정보 아이콘을 선택하고 자습서 탭을 선택합니다.
-
Athena 쿼리 편집기에서 테이블을 생성하고 쿼리를 작성하는 방법에 대한 단계별 자습서는 시작 섹션을 참조하세요.