본문 바로가기

Python/Pyspark

PYSPARK Documentation

PySpark는 Python의 Apache Spark용 인터페이스입니다. 파이썬 API를 사용하여 스파크 애플리케이션을 작성할 수 있을 뿐만 아니라 분산 환경에서 데이터를 대화식으로 분석할 수 있는 PySpark 셸도 제공합니다. PySpark는 Spark SQL, DataFrame, 스트리밍, MLlib(기계 학습) 및 Spark Core와 같은 스파크의 기능 대부분을 지원합니다.

 

 

스파크 SQL 및 데이터프레임

Spark SQL은 구조화된 데이터 처리를 위한 Spark 모듈입니다. DataFrame이라는 프로그래밍 추상화를 제공하며 분산 SQL 쿼리 엔진 역할을 할 수도 있습니다.

스트리밍

Spark 위에서 실행되는 Apache Spark의 스트리밍 기능은 Spark의 사용 편의성과 내결함성 특성을 계승하면서 스트리밍 및 과거 데이터 모두에서 강력한 대화형 및 분석 애플리케이션을 가능하게 합니다.

MLlib

스파크 위에 구축된 MLlib는 사용자가 실제 기계 학습 파이프라인을 만들고 튜닝하는 데 도움이 되는 균일한 고급 API 세트를 제공하는 확장 가능한 기계 학습 라이브러리이다.

스파크 코어

스파크 코어는 다른 모든 기능이 기본으로 제공되는 스파크 플랫폼의 기본 일반 실행 엔진입니다. RDD(Resilient Distributed Dataset) 및 인메모리 컴퓨팅 기능을 제공합니다.

 

- RDD(Resilient Distributed Dataset)

- Resilient: Memory 내 데이터 손실 시, 다시 생성할 수 있음. , 유실된  파티션을 재연산해 복구 (탄력적)

- Distributed: Cluster를 통해 메모리에 분산되어 저장 (분산)

- Dataset: 파일을 통해 가져올 수 있음

 

.coalesce(int)  => ()의 값은 파티셔닝 값을 뜻한다.  줄이는 것만 가능 

.repartition(int) => ()의 값은 파티셔닝 값을 뜻한다.  줄이고 늘리고 둘다 가능(소스를 까보면 결국 안에는  coalesce가 있음.

출처 : http://spark.apache.org/docs/latest/api/python/

         https://kkn1220.tistory.com/126