본문 바로가기
728x90

Big Data14

[Spark] Spark Partitioning Spark의 Partitioning이란? 스파크의 각 RDD는 서로 다른 노드들에서 연산이 가능하도록 여러 개의 Partition으로 나눌 수 있습니다. Partitioning 사용 이유 왜 파티셔닝을 진행하는 걸까요? 그 이유는 파티션의 크기와 수를 조정하고 배치 방법을 설정하여 RDD의 구조를 제어가 가능하기 때문입니다. RDD의 데이터를 여러 파티션에 나누게 되는데 모든 Pair RDD에 대해 파티셔닝이 가능합니다. 여기서 PairRDD 란 키, 값 쌍을 가지고 있는 RDD를 의미하며 PairRDD도 일반 RDD에 지원하는 함수를 사용할 수 있습니다. 파티셔닝은 RDD가 한 번만 스캐닝된다면 의미가 없으며 join 같은 키 중심의 연산에서 데이터가 여러 번 재활용될 때 의미가 있습니다. Partit.. 2022. 12. 11.
[Spark] Spark 란? Spark 의 등장 배경 HDFS에서 진행되는 하둡의 속도적 한계를 극복하기 위하여 등장하였습니다. 하둡과는 달리 Ram을 Rom처럼 Read Only로 사용하여 반복 처리 작업에서는 하둡보다 속도가 최소 100배 이상 빠르고 다양한 언어를 지원하여 실시간 데이터 처리라는 니즈를 충족시키며 국내의 실시간 데이터 분석에서 스파크의 비율이 상당 부분을 차지하게 되었습니다. Spark 자료 구조 Spark의 자료구조는 크게 아래와 같이 분류 가능합니다. RDD DataFrame DataSet 각각의 자료 구조의 특징을 자세하게 알아보겠습니다. RDD 1. 분산 , 불변 먼저 스파크의 가장 기본적인 데이터 단위로 RDD는 불변(Read Only) 의 특성을 가지고 있습니다. 따라서 특정 동작을 위해서는 RDD .. 2022. 12. 11.
Kafka 의 동작 원리 Kafka 의 동작 방식 주요 개념 Kafka 의 동작 방식에는 주요한 개념이 존재합니다. 주요 개념을 한 가지씩 알아보겠습니다. Producer & 컨슈머의 분리 카프카의 Producer와 Consumer는 완전 별개로 동작합니다. Producer는 브로커의 토픽에 메세지를 카프카 게시하기만 하고 Consumer는 브로커의 특정 토픽에서 메세지를 가져와 처리하기만 합니다. Push &Pull 카프카 클러스터를 중심으로 Producer 와 컨슈머가 데이터를 push & pull 하게 됩니다. Producer와 Consumer는 각기 다른 프로세스에서 비동기로 동작하며 Consumer는 풀 모델을 기반으로 메세지 처리를 진행하는데 Consumer 가 필요시 브로커로부터 메세지를 가져와 처리하는 형태로 효율.. 2022. 12. 6.
Apache Kafka 란? Apache Kafka 카프카란 무엇일까요? 카프카는 대용량 실시간 스트리밍 데이터 처리를 위해 사용하는 메시징 시스템이에요. Pub-Sub모델 구조를 이용하고 있습니다. Pub-Sub 모델이란 Publish/Subscribe( 발행/구독 )의 줄임말로 메시지 기반의 미들웨어 시스템입니다. publisher 는 어떤 subscriber 가 있는지 모르는 상태에서 topic 을 통해 메시지를 카테고리화 하여 전송합니다. 반대로 subscriber 는 publisher 에 대한 정보 없이 자신의 Interest 에 맞는 메시지만을 전송받습니다. 그럼 카프카는 어떤 영역에서 활용될 수 있을까요? 아래에서 알아보겠습니다. Kafka 활용 사례 증권 거래소, 은행, 보험 등에서 실시간으로 결제 및 금융 거래를 처.. 2022. 12. 6.
728x90