'Athena' 태그의 글 목록
잡학다식의 지식공방
300x250

Athena 12

Parquet vs CSV: Athena에서 어떤 포맷이 더 유리할까?

AWS Athena를 사용할 때 데이터를 어떤 포맷으로 저장하느냐에 따라 쿼리 성능과 비용이 크게 달라집니다. 그중 가장 많이 비교되는 포맷이 바로 CSV와 Parquet입니다. 이번 글에서는 두 포맷의 차이점과, Athena 환경에서 어떤 포맷이 더 효율적인지 실무 중심으로 정리해보겠습니다.✅ 기본 개념 비교항목CSVParquet저장 방식텍스트 기반컬럼 기반 (Binary)용량큼작음 (최대 10배 압축 가능)스캔 효율낮음높음 (컬럼만 읽음)스키마없음명시적 스키마 포함읽기 속도느림빠름 (특히 일부 컬럼만 SELECT 시)Athena 비용상대적으로 높음낮음 (스캔 데이터 감소)🧠 Athena에서 Parquet이 더 유리한 이유컬럼 프루닝 가능Parquet은 컬럼 기반 저장이라 SELECT에 필요한 컬럼만..

Glue Crawler 제대로 쓰는 법: Athena 실무를 위한 테이블 자동 등록 가이드

AWS Glue Crawler는 S3에 저장된 데이터를 자동으로 스캔해 테이블을 생성해주는 기능입니다. Athena, Redshift Spectrum, EMR 등 다양한 AWS 분석 도구와 연결되며, 특히 Athena 사용자에게는 거의 필수 기능이라고 해도 과언이 아닙니다.하지만 생각보다 많은 실무자들이 Crawler를 제대로 활용하지 못해, 쿼리 에러나 스키마 문제를 겪곤 합니다. 이 글에서는 실제 사용 경험을 바탕으로 Glue Crawler를 안정적으로 설정하고 관리하는 방법을 정리해봅니다.✅ Glue Crawler란?S3 내 파일을 분석해 테이블과 파티션 정보를 Glue Data Catalog에 자동으로 등록해주는 기능CSV, JSON, Parquet, ORC 등 다양한 포맷 지원파티션 자동 인식 ..

Athena 쿼리 속도 10배 올리는 실전 최적화 전략

AWS Athena는 설정 없이 바로 SQL 쿼리를 날릴 수 있다는 점에서 편리하지만, 쿼리 성능이 느려지면 비용과 시간 모두 낭비될 수 있습니다. 이번 글에서는 Athena 쿼리 성능을 10배 이상 향상시킬 수 있는 핵심 최적화 전략들을 소개합니다.✅ 1. 파티션 프루닝을 적극 활용하자Athena는 테이블이 파티셔닝되어 있을 경우, 조건절(WHERE)에서 해당 파티션 값을 명시하면 불필요한 S3 스캔을 줄일 수 있습니다.-- 나쁨 (전체 데이터 스캔)SELECT * FROM logs WHERE date >= '2024-01-01';-- 좋음 (파티션 키 명시)SELECT * FROM logs WHERE partition_date = '2024-01-01';파티션 필드를 WHERE 조건에 명시하지 않으면..

Athena와 Glue는 왜 Hive 구조를 따를까? 서버리스 SQL

AWS Athena를 사용하다 보면 Glue Data Catalog, HiveQL, 파티션 등 Hive에서 유래한 개념들이 자주 등장합니다. 이 글에서는 Athena가 Hive 구조를 기반으로 설계된 이유와, Glue와의 관계, 실무에서 얻을 수 있는 장점을 정리해보겠습니다.✅ Athena는 무엇인가?Athena는 S3에 저장된 데이터를 SQL로 분석할 수 있게 해주는 AWS의 서버리스 쿼리 서비스입니다.쿼리 언어: HiveQL 기반 SQL저장소: Amazon S3 (테이블처럼 인식)메타데이터 저장소: AWS Glue Data Catalog실행 방식: 서버리스 (인프라 관리 불필요)🧠 Hive 기반 설계의 이유Athena는 다음과 같은 이유로 Hive 구조를 계승했습니다:검증된 오픈소스 모델: Hive..

Hive란 무엇인가? 빅데이터를 위한 SQL 기반 데이터 웨어하우스

대규모 데이터를 분석하고 처리할 수 있는 도구로 Hive는 여전히 중요한 위치를 차지하고 있습니다. 이번 글에서는 Hive의 개념, 구조, 동작 방식, 그리고 실무에서의 활용 사례를 소개합니다.✅ Hive란?Hive는 Hadoop 위에서 동작하는 데이터 웨어하우스 시스템으로, SQL 유사 언어인 HiveQL을 통해 대용량 데이터를 쉽게 쿼리할 수 있도록 해주는 도구입니다.기본 저장소: HDFS (Hadoop Distributed File System)쿼리 언어: HiveQL (SQL과 유사함)처리 방식: 내부적으로 MapReduce, Tez, Spark 등으로 변환하여 실행메타데이터 저장소: Hive Metastore (Glue Data Catalog가 이를 대체 가능)🧱 Hive의 주요 구성 요소Hi..

ALTER TABLE DROP PARTITION 파티션 메타데이터 삭제하기

AWS Athena, Hive, Glue Data Catalog를 활용하는 환경에서는 때때로 특정 파티션만 메타데이터에서 제거하고 싶을 때가 있습니다. 이럴 때 사용하는 명령이 바로 ALTER TABLE ... DROP PARTITION입니다.이번 글에서는 이 명령의 정확한 동작 원리, 주의사항, 실무 활용 팁까지 알아봅니다.✅ DROP PARTITION 명령이란?ALTER TABLE example_table DROP PARTITION (partition_date='2024-12-01');이 명령은 Glue Data Catalog(또는 Hive Metastore) 에서 특정 파티션 정보를 삭제합니다. 단, S3에 있는 실제 데이터 파일은 그대로 유지됩니다.🔍 언제 사용해야 하나요?특정 파티션의 스키마가..

MSCK REPAIR TABLE 완전 정복: 동작 원리와 실무 활용법

AWS Athena나 Hive 환경에서 자주 사용하는 명령 중 하나가 바로 MSCK REPAIR TABLE입니다.이 명령은 파티션이 누락되어 쿼리 결과가 제대로 나오지 않을 때 필수적인 역할을 합니다.이번 글에서는 이 명령이 어떻게 동작하는지, 어떤 조건에서 유용한지 자세히 알아보겠습니다.✅ MSCK REPAIR TABLE이란?MSCK는 "Metastore Check"의 줄임말입니다. Hive Metastore(또는 Glue Data Catalog)에 등록되지 않은 파티션들을 자동으로 찾아 등록해주는 명령입니다.기본 사용 예시:MSCK REPAIR TABLE example_table;이 명령은 테이블의 위치(S3 경로)를 기준으로 내부의 폴더 구조를 탐색합니다.Hive 형식(key=value)으로 된 폴..

Athena에서 HIVE_PARTITION_SCHEMA_MISMATCH 에러 해결하기

AWS Athena를 사용하다 보면 간혹 다음과 같은 에러 메시지를 접하게 됩니다:HIVE_PARTITION_SCHEMA_MISMATCH: You are trying to write into an existing partition in a table. The table schema has changed since the creation of the partition. Inserting rows into such partition is not supported.이번 글에서는 이 에러가 왜 발생하는지, 그리고 어떻게 해결할 수 있는지를 정리해보겠습니다.✅ 에러 원인 요약이 에러는 Athena 테이블 전체 스키마와 특정 파티션의 스키마가 서로 다를 때 발생합니다.Glue Data Catalog에서는 각 파티션..

Athena 1편: S3에서 SQL로 데이터 조회하기

AWS Athena는 S3에 저장된 데이터를 SQL로 바로 조회할 수 있는 서버리스 쿼리 서비스입니다. 인프라를 직접 구성할 필요 없이 빠르게 분석 작업을 시작할 수 있어, 로그 분석, BI 대시보드, 임시 쿼리에 자주 활용됩니다.Athena는 어떤 서비스인가요?서버리스: EC2나 RDS처럼 인스턴스를 띄우지 않아도 됩니다. 쿼리한 만큼만 비용을 지불합니다.SQL 인터페이스: 표준 SQL을 사용하므로 진입 장벽이 낮습니다.S3 기반: S3에 저장된 다양한 포맷(CSV, JSON, Parquet 등)의 데이터를 바로 조회할 수 있습니다.Athena 기본 아키텍처S3: 분석 대상 데이터가 저장된 장소Glue Data Catalog: 테이블 스키마를 저장하는 메타데이터 저장소 (Athena가 참조)Athena..

300x250
300x250