스파크의 데이터구조 개념중 Dataframe과 Dataset에 대하여 정리합니다.
Dataframe
- 기존의 RDD한계 때문에..
- 메모리나 디스크에 저장공간이 충분하지 않을 경우 동작하지 않음
- 구조화 데이터와 비구조화 된 데이터를 함께 저장하여 효율성 감소
- 직렬화(JAVA)와 Garbage Collection을 사용하여 메모리 오버헤드 증가
- 별도 최적화 엔진 별도로 존재하지 않음 > 최적화 작업이 필요
- .. Spark 진영에서는 1.3v 부터 Dataframe 개념을 도입
- Schema RDD라고 불리기도 함
- 기본적으로 Structured Data 구조로 이루어지게 된다. 행과 열이 존재하며 그렇기 때문에 SparkSQL등을 통해 SQL 질의를 처리할 수 있게 된다. (1.3v 이후로 가장 큰 장점)
- GC(Garbage Collection)로 인한 오버헤드 감소: 오프-힙 공간에 저장함으로써 GC의 오버헤드 영향을 감소
- Flexibility & Scalability: csv 등 여러 데이터 형태를 지원
Dataset
- 데이터 프레임을 담아두는 공간, 여러개의 Dataframe이 Dataset 내에 저장됨
- 스파크 1.6v에서 추가되어 2.0에서 Dataframe과 Dataset이 통합
- Dataset[Row]는 Dataframe을 의미
다음글에서는 실제 스파크 튜토리얼을 실행해보기로
레퍼런스
https://artist-developer.tistory.com/21?category=962892
[Spark] Spark DataFrame 개념 정리!
안녕하세요. 저번 시간, Spark RDD에 이어, 스파크의 두번째 데이터 구조인 DataFrame 으로 돌아온, 개발자 김모씨입니다. 혹시 스파크의 가장 기본적인 데이터 구조인 RDD를 설명하는 포스팅을 아직
artist-developer.tistory.com
2.RDD, 데이타프레임, 데이타셋
스파크 애플리케이션 구현 방법은 스파크 v1에서 발표한 RDD를 이용하는 방법[^1]과 스파크 v2에서 RDD의 단점으로 개선하여 발표한 데이타셋(Dataset)과 데이터프 ...
wikidocs.net
https://bcho.tistory.com/1025?category=563141
Apache Spark 클러스터 구조
Apache Spark Cluster 구조 스팍의 기본 구조는 다음과 같다. 스팍 프로그램은 일반적으로 “Driver Program”이라고 하는데, 이 Driver Program 은 여러개의 병렬적인 작업으로 나뉘어져사 Spark의 Worker Node(..
bcho.tistory.com
Mac OS에 스파크 3.0 설치 및 pyspark 시작
맥북 Mac OS에 Spark를 설치해보고 주피터 노트북에서 pyspark를 실행해보자!
key4920.github.io
https://www.slideshare.net/yongho/rdd-paper-review
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
요즘 Hadoop 보다 더 뜨고 있는 Spark. 그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다. RDD가 어떻게 동작하는지, 원 논문을 리뷰하며
www.slideshare.net
'엔지니어가 되자 > 데이터엔지니어링' 카테고리의 다른 글
AWS EC2에 Docker 환경 배포 작업기 - WAS(Django) / Web Server(Nginx) / Mysql DB (0) | 2024.01.02 |
---|---|
[글또] 스칼라와 친해지기 (개념/설치/문법) (0) | 2021.11.07 |
[글또] Spark 정리하기 (1/2) - 개념, RDD (0) | 2021.09.12 |
[글또] 아마존 레드시프트(AWS Redshift) 이해하기 (0) | 2021.08.29 |
[개발지식] MSA(Micro Service Architecture)란? (0) | 2021.06.14 |