inflearn logo
강의

Course

Instructor

Spark Machine Learning Complete Guide - Part 1

Comparison of Pandas DataFrame and Spark DataFrame

DataFrame, SQL과 RDD의 속도

702

ziont05104306

31 asked

0

안녕하세요 선생님. 수업 듣던 중 궁금한 것이 생겨 질문 드립니다. DataFrame과 SQL이 결국은 Wrapper역할이고 api를 호출하면 결국 RDD로 내려가서 연산이 이루어진다고 하셨는데, 그런데도 RDD보다 더 빠를 수 있는 이유가 뭔가요?

스파크 머신러닝 배워볼래요? bigdata apache-spark 데이터 엔지니어링

Answer 2

0

ziont05104306

감사합니다 선생님. 저희가 RDD에 대한 개념이 빠삭하고 구현력이 엄청 뛰어난게 아니라면 DataFrame이나 SQL이 더 나을 것 같다는 생각이 듭니다. 감사합니다

0

dooleyz3525

안녕하십니까, 

제가 보여드린 DataFrame, SQL , RDD 비교 장표는 좀 논란(?)의 여지도 있을 것 같습니다. DataBricks에서 공식적으로 발표한 장표라 인용하였지만, 말씀하신대로 결국은 RDD로 연산이 되는데 더 빠를 이유가 없습니다. 

제 생각엔 이건 DataFrame, SQL이 살짝 복잡한 업무를 처리했을 때 최적화를 보다 잘 해주기 때문인것 같습니다.  가령 TPC-D에 있는 주문 처리 로직 같은 경우에 SQL, DataFrame이 좀 더 최적화를 잘해서 더 빠른 결과를 내놓은것 같습니다. 

단순하게 한 테이블을 group by하고 count하는 정도의 로직이라면 RDD가 더 빠르게 할 것입니다. 하지만 어느 정도 복잡한 로직이 수반되는 업무를 RDD로 구현할 때는 구현 복잡도가 SQL, DataFrame대비하여 상대적으로 높아져서 그런 결과가 나온걸로 추정합니다. 

반면에 SQL과 DataFrame은 Catalyst라는 별도의 최적화 엔진이 있습니다.  이게 RDBMS의 SQL 실행계획을 최적화 하는 엔진과 비슷합니다(물론 RDBMS 수준은 아닙니다 ^^;;). 때문에 주어진 로직을 어떻게 연산을 수행해야 더 빨리 수행할 수 있는지를 판단해서 수행하게 됩니다. 이 차이가 가장 큰 것 같습니다. 

데이터 브릭스 이슈

0

88

2

데이터 브릭스 가입

0

83

2

pyspark local 설치

0

78

2

community edition 가입 문의

0

88

2

데이터 로드 및 로딩 된 파일 데이터 목록 조회 방

0

159

2

클러스터 버전 설정

0

122

3

instacart market basket analysis

0

169

3

spark 추가 학습 관련 질문

0

221

2

MLOps 관련 MLFLow 및 Databricks 모델 서빙

0

374

1

train파일 업로드 중에 해당 경로가 없다고 뜹니다

0

366

2

강의가 재생되지 않음

0

255

2

후속 강의 계획 질문드립니다.

0

363

1

spark_xgboost_lightgbm 강의부분 관련

0

463

1

spark환경에서 데이터 수정에 관하여 질문이 있습니다.

1

311

1

Spark를 이용하여 binary file -> parquet, csv 변환 가능여부

0

559

1

SPARK 2 강의 오픈

0

489

1

Spark ML 모델 서빙

0

559

1

mac os ) zip 파일 dataframe 오류

0

659

1

ModuleNotFoundError : No module named 'mmlspark' - 20230218

0

616

1

TrainValidationSplit과 randomSplit 사용 질문

0

393

1

현업에서는 scala-spark를 사용하나요? py-spark를 사용하나요?

0

507

1

cluster 생성 Database runtime version 질문

0

267

1

Pandas vs Spark: 비용, 처리시간 비교

0

1226

1

sparkdl library 설치 관련 질문

0

384

1