Communitygithub.com

spec-driven-etl-pipeline

Claude Code 기술과 서브 에이전트를 활용하여 AWS에서 스펙 기반 분석 데이터 제품을 구축합니다: Snowflake SQL 변환, Iceberg on Glue Catalog, Liquibase 스타일 DDL, 설정 기반 ETL

spec-driven-etl-pipeline란 무엇인가요?

이 스킬은 Claude Code와 서브 에이전트를 결합하여 AWS 환경에서 스펙 기반 분석 데이터 파이프라인을 자동화합니다. 핵심 기능으로는 Snowflake SQL 변환 로직을 Iceberg on Glue Catalog 포맷으로 변환하고, Liquibase 스타일의 선언적 DDL을 지원하며, 설정 파일(config-driven) 기반으로 ETL 프로세스를 정의하고 실행합니다. 개발자는 YAML 또는 JSON 설정 파일에 데이터 제품의 스펙을 명시하기만 하면, 에이전트가 자동으로 변환 스크립트, DDL, ETL 작업을 생성합니다. AWS Glue, Snowflake, S3, Athena 등 다양한 서비스와 통합되며, 특히 Iceberg 테이블 포맷을 활용하여 데이터 레이크하우스 아키텍처를 쉽게 구현할 수 있습니다. 이 스킬의 주요 장점은 반복적인 ETL 작업을 자동화하고, 일관된 데이터 제품 개발 방법론을 제공하며, 코드 리뷰와 버전 관리를 용이하게 한다는 점입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add pranavkulkarni1012/spec-driven-etl-pipeline

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

spec-driven-etl-pipeline은(는) 무엇을 하나요?

Claude Code 기술 및 서브 에이전트를 위한 스펙 기반 분석 데이터 파이프라인: AWS 상에서 Snowflake SQL 변환을 Iceberg on Glue Catalog로, Liquibase 스타일의 DDL, 설정 기반 ETL을 제공합니다.

개요

이 스킬은 AWS 클라우드 환경에서 분석 데이터 제품을 구축하는 과정을 자동화하고 표준화합니다. 개발자는 데이터 변환, 스키마 정의, ETL 워크플로우를 설정 파일에 명시적으로 선언하면, Claude Code 에이전트가 이를 실행 가능한 파이프라인으로 변환합니다.

주요 기능

  • Snowflake SQL 변환: Snowflake의 SQL 쿼리를 Iceberg on Glue Catalog 포맷으로 변환
  • Liquibase 스타일 DDL: 선언적 데이터 정의 언어를 지원하여 데이터베이스 스키마 변경을 체계적으로 관리
  • 설정 기반 ETL: YAML/JSON 설정 파일을 통해 ETL 파이프라인 정의 및 실행
  • AWS 통합: Glue, S3, Athena, Snowflake 등 주요 AWS 서비스와 긴밀하게 통합

사용 방법

  1. 설정 파일(config.yaml 또는 config.json)에 데이터 제품의 스펙을 정의합니다.
  2. Claude Code에게 @spec-driven-etl-pipeline 명령어를 사용하여 파이프라인 생성을 요청합니다.
  3. 에이전트가 자동으로 변환 스크립트, DDL, ETL 작업을 생성합니다.
  4. 생성된 리소스를 검토하고 배포합니다.

설정 파일 예시

# config.yaml
data_product:
  name: customer_analytics
  source:
    type: snowflake
    database: prod_db
    schema: public
    table: customers
  target:
    format: iceberg
    catalog: glue
    location: s3://data-lake/customer_analytics/
  transformations:
    - name: clean_customers
      query: |
        SELECT 
          id,
          TRIM(name) AS name,
          LOWER(email) AS email,
          created_at
        FROM source.customers
  ddl:
    - type: create_table
      table: cleaned_customers
      columns:
        - name: id
          type: BIGINT
        - name: name
          type: STRING
        - name: email
          type: STRING
        - name: created_at
          type: TIMESTAMP

아키텍처

[설정 파일] --> [Claude Code 에이전트] --> [변환 스크립트] --> [AWS Glue Job]
                                         --> [DDL 스크립트] --> [Glue Catalog]
                                         --> [ETL 파이프라인] --> [S3 + Athena]

지원 플랫폼

  • Claude Code
  • Cursor
  • Codex
  • GitHub Copilot

의존성

  • AWS CLI (최신 버전)
  • Snowflake 계정 및 접근 권한
  • AWS Glue 및 S3 접근 권한
  • Python 3.8+

라이선스

이 프로젝트는 MIT 라이선스에 따라 배포됩니다.

기여하기

버그 리포트, 기능 제안, 풀 리퀘스트는 GitHub 저장소를 통해 환영합니다.

관련 스킬