티스토리 뷰

AWS Cloud/DEA

AWS Glue: DynamicFrame vs DataFrame

애드팍 2025. 4. 10. 13:52
728x90
  • 둘 다 Spark 기반 분산 데이터 처리 객체
  • AWS Glue Job 내에서 데이터를 읽고, 변환하고, 저장할 때 사용
  • 변환 함수(filter, map, select 등) 적용 가능

🔷 DynamicFrame

Glue에 특화된 구조로, 스키마가 유동적인 데이터반정형 데이터(JSON, XML 등) 를 다룰 때 적합

특징 설명
스키마 유연성 필드가 다르거나 없는 레코드도 수용 가능
자체 메서드 resolveChoice(), applyMapping() 등 Glue 전용 API 제공
사용 대상 Glue Crawler로 생성된 테이블 / JSON 데이터
변환 전 처리 오류 허용, 필드 누락 자동 처리

예시 코드:

dynamic_frame = glueContext.create_dynamic_frame.from_catalog(...) dynamic_frame = dynamic_frame.resolveChoice(specs=[...])

🔷 DataFrame

Spark 본래의 구조로, 엄격한 스키마 기반 처리가 필요할 때 사용
머신러닝, SQL 쿼리, 고성능 집계 작업 등에 적합

특징 설명
스키마 고정 열 이름/타입이 고정되어 있음
PySpark 기능 groupBy(), agg(), filter() 등 강력한 API 사용 가능
성능 우수 Spark SQL 최적화 가능
사용 대상 정형 데이터 / 고성능 연산 필요시

예시 코드:

df = dynamic_frame.toDF() df = df.filter(df["amount"].isNotNull())

🔁 변환 흐름

S3/Glue Catalog → DynamicFrame → (전처리) → DataFrame → (고성능 연산) → 저장

💡 요약 비교

항목 DynamicFrame DataFrame
스키마 유연함 고정
오류 허용 가능 예외 발생
고급 변환 제한적 강력함
Glue 통합성 매우 높음 보통
변환 방법 .toDF() .fromDF() (역변환 가능)
728x90

'AWS Cloud > DEA' 카테고리의 다른 글

Redshift  (0) 2025.04.11
AWS Glue DataBrew  (0) 2025.04.11
Glue  (0) 2025.04.11
Redshift RA3  (0) 2025.04.11
Kafka or MSK  (0) 2025.04.10
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함