inflearn logo
강의

講義

知識共有

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

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

解決済みの質問

189

km9311

投稿した質問数 8

0

제목 그대로입니다. spark로 처리를 할때 rdd, dataframe, spark sql.. 3가지 방식이 있어보이는데

 

각각 언제 사용하는게 좋을까요..? 방법이 많다보니까 언제 무엇을 사용해야 할 지 해깔리네요

머신러닝 빅데이터 apache-spark

回答 2

0

altoformula

안녕하세요 km9311님,

Spark 2 버전에서는 주로 RDD를 활용했지만, Python에서 RDD를 사용할 경우 성능 저하 문제가 발생할 수 있습니다. 따라서 현재 PySpark에서는 DataFrame을 사용하여 데이터를 테이블 형식으로 변환한 후 SQL을 사용하는 방식이 권장됩니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. km9311님께서는 RDD, DataFrame, Spark SQL의 사용 시점에 대해 궁금해하셨네요. 이 질문은 Spark 사용 시 필수적으로 알아두어야 할 부분입니다.

  • RDD (Resilient Distributed Dataset): RDD는 Spark의 기본 데이터 구조입니다. 가장 기본적이며 저수준의 API로 트랜스포메이션이나 액션을 수행할 수 있습니다. 대체로 복잡한 계산이나 데이터 처리 파이프라인이 필요할 때 사용합니다. RDD는 불변성과 복구 기능이 강조되어 있기 때문에, 높은 수준의 핸들링을 요구하는 경우 적합합니다.

  • DataFrame: DataFrame은 RDD보다 더 고수준의 추상화를 제공하며, 스키마 기반으로 작업하기 때문에 구조화된 데이터에 적합합니다. 표현식이나 관계형 연산을 효율적으로 수행하는 데에 유리하며, Catalyst 옵티마이저 덕분에 SQL-like 쿼리의 최적화를 잘 제공합니다. 테이블 데이터와 같은 데이터를 다룰 때 DataFrame은 매우 유용합니다.

  • Spark SQL: SQL 쿼리를 통해 DataFrame이나 Dataset을 다룰 수 있는 방법입니다. 관계형 데이터베이스와의 통합이 필요하거나 SQL을 사용한 접근이 익숙할 때 매우 유용합니다. Spark SQL은 DataFrame API와 연동하여 사용될 수 있고, 정형 데이터에서 데이터를 추출하거나 분석할 때 유리합니다.

km9311님께서 좀 더 깊게 이해하고 싶으시면 아래의 유사한 질문과 답변도 참고해보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

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

0

108

2

BroadCast 지원 가능 메모리 문의

0

90

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