주요 컨텐츠로 이동

PySpark

Databricks 무료로 시작하기

PySpark란 무엇입니까?

Apache Spark는 Scala 프로그래밍 언어로 작성되었습니다 PySpark는 Apache Spark와 Python의 공동 작업을 지원하기 위해 릴리스되었으며, 사실상 Spark용 Python API의 일종입니다. 또한 PySpark를 사용하면 Apache Spark와 Python 프로그래밍 언어로 RDD(Resilient Distributed Datasets)에 접속하는 데 도움이 됩니다. 이를 위해 Py4j 라이브러리를 활용했습니다. PySpark 로고Py4J는 PySpark에 내장된 대중적인 라이브러리이며 JVM 개체를 사용해 Python의 동적인 인터페이스를 허용합니다. PySpark에는 효율적인 프로그램을 쓰는 데 좋은 라이브러리가 꽤 많습니다. 또한 호환되는 외부 라이브러리도 다양합니다. 그중 몇 가지 예를 들면 다음과 같습니다.

PySparkSQL

엄청난 대량의 구조적 또는 반구조적 데이터에 SQL 유사 분석을 적용하는 데 쓰이는 PySpark 라이브러리입니다. PySparkSQL은 SQL 쿼리에도 사용할 수 있습니다. 또한 Apache Hive에 연결할 수도 있습니다. HiveQL을 적용해도 됩니다. PySparkSQL은 PySpark 코어를 통한 래퍼(wrapper)입니다. PySparkSQL은 DataFrame을 도입했는데, 이것은 관계형 데이터베이스 관리 시스템의 테이블과 비슷한 구조적 데이터의 테이블 형식 표현입니다.

MLlib

MLlib은 PySpark를 통한 래퍼(wrapper)이며 Spark의 머신 러닝(ML) 라이브러리이기도 합니다. 이 라이브러리는 데이터 병렬 처리 기법을 사용하여 데이터를 저장하고 다룹니다. MLlib 라이브러리가 제공하는 머신 러닝 API는 사용이 무척 간편합니다. MLlib은 수많은 머신 러닝 알고리즘을 지원하여 분류, 회귀, 클러스터링, 공동 작업 필터링, 차원 감소 및 기본 최적화 기본 형식(primitive) 등에 사용할 수 있습니다.

GraphFrame

GraphFrame은 특수 제작한 그래프 처리 라이브러리로, 일련의 API를 제공하여 그래프 분석을 효율적으로 수행합니다. 이때 PySpark와 PySparkSQL을 사용합니다. 고속 분산형 컴퓨팅에 최적화되어 있습니다. PySpark를 사용하여 얻을 수 있는 장점: • Python을 매우 손쉽게 배우고 구현할 수 있습니다. • 단순하고 종합적인 API를 제공합니다. • Python과 함께 사용하면 코드의 가독성, 유지와 친숙도가 훨씬 나아집니다. • 데이터 시각화를 위한 다양한 옵션을 제공하는데, 데이터 시각화는 Scala나 Java로는 어렵습니다.  

추가 자료

용어집으로 돌아가기