일반
- 통합된 메타데이터 리포지토리: AWS Glue는 다양한 AWS 서비스와 통합됩니다. AWS Glue는 Amazon Aurora, Amazon RDS MySQL, Amazon RDS PostreSQL, Amazon Redshift 및 Amazon S3에 저장된 데이터와 Amazon EC2에서 실행되는 가상 사설 클라우드(Amazon VPC)의 MySQL 및 PostgreSQL 데이터베이스에 저장된 데이터를 지원합니다. AWS Glue는 Amazon Athena, Amazon EMR 및 Amazon Redshift Spectrum 및 모든 Apache Hive Metastore 호환 애플리케이션과 즉시 통합됩니다.
- 자동 스키마 및 파티션 인식: AWS Glue는 자동으로 데이터 원본을 크롤링하고, 데이터 형식을 파악하며, 스키마와 변환을 제안합니다. 크롤러는 테이블 생성과 파티션 로딩을 자동화하는 데 도움이 됩니다.
- 간편하게 파이프라인 구축: AWS Glue의 ETL 엔진은 사용자 지정 가능하고 재사용 가능하며 이동 가능한 Python 코드를 생성합니다. 선호하는 IDE 또는 노트북을 사용하여 코드를 편집하고 GitHub를 통해 이를 다른 사용자와 공유할 수 있습니다. ETL 작업이 준비되면, AWS Glue의 완전관리형 스케일 아웃 Spark 인프라에서 실행하도록 예약할 수 있습니다. AWS Glue는 서버리스이므로, ETL 작업을 실행하는 데 필요한 리소스의 프로비저닝, 구성 및 확장/축소를 처리합니다. 따라서 ETL을 워크플로에 긴밀하게 통합할 수 있습니다.
Athena와 여타 빅 데이터 서비스의 사용 시기 비교
테이블, 데이터 형식 및 파티션 생성
- Apache 웹 로그: "org.apache.hadoop.hive.serde2.RegexSerDe"
- CSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- TSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- 사용자 지정 구분 기호: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- Parquet: "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
- Orc: "org.apache.hadoop.hive.ql.io.orc.OrcSerde"
- JSON: “org.apache.hive.hcatalog.data.JsonSerDe” 또는 org.openx.data.jsonserde.JsonSerDe
쿼리 및 데이터 형식
Q: Amazon Athena에서 Amazon QuickSight를 사용해도 되나요?
Q: Athena는 그 외 BI 도구 및 SQL 클라이언트를 지원하나요?
Q: Amazon Athena에서 지원하는 함수에 액세스하려면 어떻게 해야 합니까?
사용자는 Athena Query Federation SDK를 사용하여 Java로 UDF를 작성할 수 있습니다. Athena에 제출된 SQL 쿼리에 UDF가 사용되면 AWS Lambda에서 호출하여 실행합니다. UDF는 SQL 쿼리의 SELECT 절과 FILTER 절 모두에서 사용할 수 있습니다. 동일한 쿼리에서 여러 UDF를 호출할 수 있습니다.
연합 쿼리
Q: 연합 쿼리란 무엇입니까?
Amazon S3 이외의 소스에 데이터가 있는 경우 Athena를 사용하여 데이터를 현재 위치에서 쿼리하거나, 여러 데이터 원본에서 데이터를 추출하고 Amazon S3에 저장하는 파이프라인을 구축할 수 있습니다. Athena 연합 쿼리를 사용하면 관계형, 비관계형, 객체 및 사용자 지정 데이터 원본에 저장된 데이터에 대해 SQL 쿼리를 실행할 수 있습니다.
Q: Athena에서 연합 쿼리를 사용해야 하는 이유는 무엇입니까?
조직에서는 조직의 애플리케이션 또는 비즈니스 프로세스의 요구 사항을 충족하는 데이터 원본에 데이터를 저장하는 경우가 많습니다. 예를 들어 S3 데이터 레이크에 데이터를 저장하는 것에 더해 관계형, 키-값, 문서, 인 메모리, 검색, 그래프, 시계열 및 원장 데이터베이스 등에도 데이터를 저장할 수 있습니다. 이와 같이 다양한 소스에서 분석을 수행하는 작업은 복잡하고 시간 소모적일 수 있습니다. 새로운 프로그래밍 언어 또는 데이터베이스 구조를 배워야 하고 분석에 사용할 데이터를 추출, 변환 및 복제하는 복잡한 파이프라인을 구축해야 하기 때문입니다. Athena를 사용하면 데이터가 있는 위치에서 SQL 쿼리를 실행할 수 있으므로 이 복잡성이 제거됩니다. 잘 알려진 SQL 구조를 사용하여 여러 데이터 원본에 걸쳐 데이터를 쿼리해 신속하게 분석하거나, 예약된 SQL 쿼리를 사용하여 여러 데이터 원본에서 데이터를 추출 및 변환한 후 추가 분석을 위해 S3에 저장할 수 있습니다.
Q: 어떤 데이터 원본이 지원됩니까?
Athena는 Amazon Redshift 및 Amazon DynamoDB를 포함한 여러 주요 데이터 스토어에 대한 기본 제공 커넥터를 제공합니다. 이 커넥터를 사용하여 정형, 반정형, 객체, 그래프, 시계열 및 기타 데이터 스토리지 유형에서 SQL 분석 사용 사례를 지원할 수 있습니다. 지원되는 소스의 목록은 Athena 데이터 원본 커넥터 사용을 참조하세요.
또한 Athena의 데이터 커넥터 SDK를 사용하여 사용자 지정 데이터 원본 커넥터를 생성하고 Athena를 통해 쿼리할 수 있습니다. 설명서와 예제 커넥터 구현을 검토하여 시작해 보세요.
Q: 연합 쿼리로 지원할 수 있는 사용 사례는 무엇입니까?
Athena를 사용할 때는 기존 SQL 지식을 활용하여 다양한 데이터 원본에서 인사이트를 추출할 수 있습니다. 새 언어를 배우거나 데이터를 추출(및 복제)하는 스크립트를 개발하거나 인프라를 관리할 필요가 없습니다. Amazon Athena를 사용하면 다음을 수행할 수 있습니다.
- 단일 도구와 SQL 언어를 사용하여 여러 데이터 원본에 분산되어 있는 데이터에 대한 온디맨드 분석 실행
- JDBC 및 ODBC 인터페이스를 통해 Athena의 분산 컴퓨팅 엔진으로 복잡한 다중 소스 조인을 푸시하는 비즈니스 인텔리전스 애플리케이션의 데이터 시각화
- Athena를 AWS Step Functions와 통합하여 셀프 서비스 ETL 파이프라인 및 이벤트 기반 데이터 처리 워크플로 설계
- 다양한 데이터 원본을 통합하여 기계 학습 모델 훈련 워크플로를 위한 풍부한 입력 특성 생성
- 데이터 메시 아키텍처의 인사이트를 표면화하는 사용자용 제품형 데이터 애플리케이션 개발
- 온프레미스 소스에서 AWS 클라우드로 마이그레이션하는 동안 분석 사용 사례 지원
Q: ETL(추출, 변환, 로드)에 연합 쿼리를 사용할 수 있습니까?
Athena는 쿼리 결과를 Amazon S3의 파일에 저장합니다. 따라서 Athena를 사용하여 다른 사용자 및 애플리케이션에 연합 데이터를 제공할 수 있습니다. 기반 소스를 반복적으로 쿼리할 필요 없이 Athena를 사용하여 데이터 분석을 수행하고 싶다면 Athena의 CREATE TABLE AS 함수를 사용합니다. 또한 Athena의 UNLOAD 함수를 사용하여 데이터를 쿼리하고 Amazon S3의 특정 파일 형식에 결과를 저장할 수 있습니다.
Q: 데이터 원본 커넥터는 어떻게 작동합니까?
데이터 원본 커넥터는 AWS Lambda에서 실행되어 대상 데이터 원본과 Athena 사이에서 변환을 수행하는 코드 조각입니다. 데이터 원본 커넥터를 사용하여 데이터 스토어를 Athena에 등록하면 연합 데이터 스토어에서 SQL 쿼리를 실행할 수 있습니다. 연합 소스에서 쿼리를 실행하면 Athena가 Lambda 함수를 호출하고 연합 소스와 관련된 쿼리 일부를 실행하여 처리합니다. 자세히 알아보려면 Amazon Athena 연합 쿼리 사용을 참조하세요.