inflearn logo
강의

講義

知識共有

シリコンバレーのエンジニアから学ぶPython Apache Spark

CDC 기반 스파크 아키텍처 구현 방법이 궁금합니다.

解決済みの質問

108

owen4

投稿した質問数 1

0

현재 RDS에 저장된 데이터를 AWS DMS를 활용해 Parquet 포맷으로 변환하여 S3에 저장한 뒤, EMR(Apache Spark)에서 해당 데이터를 분석/처리하는 구조를 고려하고 있습니다.

  1. 이 방식이 일반적인 데이터 파이프라인 아키텍처로 적절한지 궁금합니다.

  2. 또한 RDS에서 지속적으로 발생하는 변경 데이터를 CDC(Change Data Capture) 기반으로 S3에 업데이트하려고 하는데, 이 역시 DMS를 활용하는 것이 최선인지 아니면 다른 접근 방안이 더 적절한지도 조언 부탁드립니다.

머신러닝 빅데이터 apache-spark iceberg

回答 2

0

altoformula

앗 죄송합니다. 제가 질문이 들어온 걸 인지를 못하고 있었네요

RDS -> (CDC) -> S3(Parquet) -> EMR/Spark 는 매우 보편적이고 잘 쓰이는 패턴입니다.

다만 “CDC → S3” 구간은 DMS로 단순 적재만 하고, 실제 ‘업서트/삭제 반영·컴팩션·스키마 진화’는 Lakehouse 포맷(Hudi/Iceberg/Delta)로 관리하는 것이 실무에서 가장 깔끔합니다.

즉, DMS는 추출·전달(Extraction), EMR/Glue는 테이블 관리(Upsert/Compaction/Optimize) 역할을 분리하는 구성이 베스트 프랙티스에 가깝습니다.

도움이 되셨다면 좋겠네요.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. owen4님.

CDC 기반의 데이터 파이프라인 아키텍처를 설계하고 계시는군요. 현재 고려 중이신 RDS 데이터를 AWS DMS를 사용하여 Parquet 포맷으로 변환해 S3에 저장한 후, EMR에서 Apache Spark를 활용하여 분석 및 처리하는 방식은 매우 일반적이며 널리 사용되는 아키텍처입니다. 이 방식을 통해 데이터를 효율적으로 관리하고, Spark의 강력한 처리 기능을 활용할 수 있습니다.

RDS 데이터 파이프라인의 핵심 고려사항:

  1. 데이터 파이프라인:

    • RDS에서 AWS DMS를 통해 Parquet 포맷으로 S3에 데이터를 저장하기 위한 파이프라인은 일반적으로 적합하며, 확장 가능성도 좋습니다.
    • Parquet 포맷은 컬럼 저장 방식이어서 대용량 데이터 분석에 효율적입니다.
  2. CDC(Change Data Capture) 기반 업데이트:

    • AWS DMS는 CDC 기능을 제공하여 데이터베이스 변경 사항을 S3로 실시간 반영할 수 있습니다. 이는 CDC 작업의 복잡성을 줄이고, 안정적인 데이터 이동을 가능하게 합니다.
    • 추가적으로, Kafka와 같은 메시지 브로커를 사용하여 CDC 이벤트를 처리함으로써, 실시간 스트리밍 데이터 파이프라인도 구축할 수 있습니다.

아래 관련 질문들에서 leeceo97님과 비슷한 문제를 다루고 있으며, 관련된 해결책과 경험을 공유하고 있습니다:
- cdc 기반의 스트리밍 데이터 처리
- EMR 환경시 분산처리가능하게하는 conf 설정 문의

이 답변이 도움이 되었기를 바랍니다. 추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

databricks에 cluster 메뉴가 없습니다.

0

49

2

주피터 사용 및 도커 설치

0

94

2

S3 폴더 구조에 따른 Static Partition Pruning, DPP 질문

0

77

2

broadcast Join과 boradcast + UDF 차이

0

63

2

append 모드 사용 시 집계

0

67

2

BroadCast 지원 가능 메모리 문의

0

90

2

rdd, dataframe, spark sql 각각 언제 사용할까요?

0

189

2

강의 후반부에 나온 실습 코드는 어디서 받을 수 있나요?

0

203

3

cdc 기반의 스트리밍 데이터 처리

1

231

2

broadcast 코드 예시 관련 질문

0

129

2

재생에 문제가 생겼어요 라는 메세지가 자꾸 뜨네요

0

116

1

스트리밍 예제 실행 시 py4j.protocol.Py4JNetworkError 발생

0

215

2

Repartition과 Coalesce에 대해 궁금한 점이 있어요!

1

166

1

pyspark 현업에서 로컬 개발 및 운영

1

338

1

Spark Structured Streaming Gracefully shutdown 질문

1

448

2

PySpark Runtime Architecture 내용 중 질문이 있습니다!

1

214

1

docker 설치 이후에 터미널 여는 부분에서 막혔습니다

1

461

2

app-<timestamp>-<executor_id> 폴더가 spark-events 내부에 생기게 하고 싶습니다.

1

277

1

pyspark.SparkContext 실행 오류 관련 질문

2

380

1

스파크 아키텍쳐 관련 문의 드립니다.

1

353

2

3.0에서 추가된 shuffle_hash, shuffle_replicate_nl hint는 어떤 상황에서 쓰는게 좋을까요?

1

320

1

데이터 엔지니터의 현 트렌드가 궁금합니다

1

473

1

스칼라강의도 제작하신다고 하셨는데 계획하고 계실까요??

1

298

2

pyspark / spark 차이점 질문드립니다.

1

1161

1