practical-data-pipeline
  • Practical Data Pipeline
  • 시작 전에 드리는 당부의 말
  • 01 - 데이터 인프라
    • 1.1 데이터 파이프라인
    • 1.2 데이터 입수 (Ingestion)
    • 1.2 데이터 가공 (Processing)
    • 1.3 데이터 저장 (Storage)
    • 1.4 데이터 분석 (Analysis)
  • 02 - 데이터 처리
    • 2.1 데이터 처리
    • 2.2 배치 (Batch) 처리
      • 2.1.1 Spark Intro
      • 2.1.2 Spark Tutorial
      • 2.1.3 Spark Concept
      • 2.1.4 Spark Architecture
      • 2.1.5 Spark DataFrame
      • 2.1.6 Spark Persistence
      • 2.1.7 Spark Cache
      • 2.1.8 Spark SQL & Table
      • 2.1.9 Spark Join
      • 2.2.1 Spark Memory
      • 2.2.2 Spark Versions
    • 2.3 워크플로우 (Workflow) 관리
    • 2.4 스트림 (Stream) 처리
      • 2.4.1 Kafka Intro
      • 2.4.2 Kafka Advanced
      • 2.4.3 Spark Streaming
      • 2.4.4 Streaming Window
      • 2.4.5 Streaming State
      • 2.4.6 Streaming Sink
  • 04 - 데이터 스토리지
    • 4.1 Kafka
      • 4.1 Kafka Concept
      • 4.2 Kafka Advanced
      • 4.3 Kafka Versions
    • 4.2 Redis
    • 4.3 RDB (MySQL)
    • 4.4 ElasticSearch
    • 4.5 KV Storage (DynamoDB)
    • 4.6 Druid
  • 05 - 데이터 애플리케이션
    • 5.1 데이터 서비스
    • 5.2 통계 서비스
    • 5.3 추천 서비스
    • 5.4 A/B 테스팅
  • 08 - Case Study
    • Week 1 - Data Pipeline
    • Week 2 - EMR & Kubernetes
    • Week 3 - Metastore
    • Week 4 - KV & Delta Storage
    • Week 5 - Kafka Rebalancing
    • Week 6 - ML Pipeline
  • 09 - 설치 및 환경 구성
    • Spark 설치 및 환경 구성
      • Spark - Local Shell 환경
      • Spark - Local Jupyter 환경
      • Spark - Kubernetes 환경
      • Spark - EMR 환경
      • Spark - Databricks 환경 (SaaS)
    • Flink 설치 및 환경 구성
    • Kafka 설치 및 환경 구성
    • MySQL 설치 및 환경 구성
    • DynamoDB 사용을 위한 환경 구성
    • ElasticSearch 설치 및 환경 구성
    • Presto 설치 및 환경 구성
    • Druid 설치 및 환경 구성
Powered by GitBook
On this page

Was this helpful?

  1. 02 - 데이터 처리

2.1 데이터 처리

Previous1.4 데이터 분석 (Analysis)Next2.2 배치 (Batch) 처리

Last updated 3 years ago

Was this helpful?

데이터를 처리하기 위한 프레임워크는 다양합니다. 이 글에서는 데이터를 분산처리하기 위해 자주 쓰이는 두 가지 프레임워크에 대해 이야기 할 예정입니다.

Apache Spark 는 배치 처리를 위해 많이 활용됩니다. 경우에 따라 스트림 처리를 위해 사용되는 경우도 있습니다. 메타스토어로부터 데이터를 테이블 형태로 쉽게 읽어오고 가공하는 것이 가능하며, 사용자의 편의에 따라 다양한 API 수준을 지원합니다.

Spark 를 활용하면, 도메인 로직을 모듈로 만들고 배치 및 스트림에서 애플리케이션 (이하 Application) 에서 동일한 로직을 사용할 수 있습니다. 예를 들어

  • Kafka 에서 데이터를 읽어 처리하는 스트림 Application 있을 때

  • 장애 등의 이유로 동일한 데이터를 Kafka 가 아닌 S3 등 스토리지에서 읽어 배치처리를 할 경우

  • 동일한 모듈을 이용해 가공할 수 있습니다

Flink 또한 배치 및 스트림 처리를 위한 API 를 지원합니다. 다만 이 글에서는 스트림을 위한 내용을 위주로 설명합니다.

Apache Spark
Apache Flink
Spark SQL
Spark Dataframe / DataSet API