데이터과학 삼학년

Spark DataFrame vs Pandas DataFrame 본문

Hadoop

Spark DataFrame vs Pandas DataFrame

Dan-k 2023. 5. 31. 18:51
반응형

Spark DataFrame vs Pandas DataFrame

  Spark DataFrame pandas DataFrame
구성 - Java Object로 만들어진 RDD 기반

- numpy의 ndarray를 기반
데이터 처리 방식  - 분산 데이터 처리를 위해 설계
- 대용량 데이터를 처리하고 병렬로 연산을 수행할 수 있음
- Spark는 클러스터에서 실행되며, 데이터를 여러 노드에 분산시키고 병렬로 처리하여 빠른 처리 속도를 제공
- 단일 머신에서 작동하는 메모리 기반의 데이터 구조
- 주로 작은 크기의 데이터셋을 처리하는 데 사용
- pandas는 메모리 내에서 데이터를 로드하고 연산을 수행하므로, 단일 머신의 자원을 활용하여 처리 속도를 높임
확장성 - Spark은 클러스터 컴퓨팅을 지원하므로, 대규모 데이터셋과 다양한 데이터 소스에 대해 확장성이 뛰어남
- 수천 대의 노드로 구성된 클러스터에서 작업을 분산시키고 처리 가능
- pandas는 단일 머신에서 작동하므로, 주어진 머신의 자원에 제한되며, 데이터 크기가 메모리 용량을 초과할 경우 처리할 수 없음
데이터 처리 속도 - 소규모 데이터셋에서는 트랜스포매이션, 액션 단계를 거침으로 인해 상대적으로 느릴 수 있음 - 메모리상에서 동작하므로 소규모 데이터셋에서는 스파크보다 더 빠른 처리 가능
데이터 입출력 - Spark는 다양한 데이터 소스와 직접적으로 상호작용할 수 있는 API를 제공
- HDFS, S3, Hive, JDBC 등 다양한 데이터 소스에 대한 통합 지원을 제공하며, 대용량 데이터를 효율적으로 처리
- pandas는 주로 로컬 파일 시스템 또는 일부 원격 데이터 소스와 상호작용하기 위해 사용
- CSV, Excel, JSON 등 다양한 형식의 파일을 읽고 쓰는 기능을 제공
API와 기능 - Spark는 다양한 분산 데이터 처리 작업을 수행하기 위한 다양한 API 및 기능을 제공
- SQL-like 쿼리 작성을 위한 SQL API, DataFrame을 사용한 구조적인 데이터 처리, MLlib을 사용한 머신러닝 작업 등 다양한 기능을 활용
- pandas는 데이터 조작 및 분석을 위한 다양한 기능과 메서드를 제공
- 데이터 필터링, 그룹화, 피벗, 통계 분석, 시각화 등 다양한 데이터 조작 작업을 지원

 

728x90
반응형
LIST
Comments