2017-03-01 1 views
1

저는 현재 스파크 프로그래밍을 배우고 PySpark에서 기존 파이썬 애플리케이션을 재 코딩하려고합니다. 그러나 PySpark에서 일반적인 파이썬 객체를 사용하는 방법에 대해서는 여전히 혼란 스럽습니다.PySpark를 사용할 때 Spark에서 어떻게 파이썬 데이터 구조가 구현 되었습니까?

Spark는 RDD, DataFrame, Datasets, 벡터 등과 같은 Spark의 분산 데이터 구조를 이해합니다. Spark은 .map(), .reduceByKey()와 같은 자체 변환 작업 및 작업 작업을 통해 해당 개체를 조작합니다. 그러나 PySpark에서 배열, 목록, 튜플 또는 사전과 같은 전통적인 파이썬 데이터 객체를 만들면 어떻게 될까요? 그들은 내 드라이버 프로그램 노드의 메모리에만 저장됩니다. RDD로 변환하면 일반적인 파이썬 함수로 연산을 수행 할 수 있습니까?

거대한 데이터 세트를 가지고 있다면, 팬더 나 numpy 같은 일반 파이썬 라이브러리를 PySpark에서 처리 할 수 ​​있습니까? Spark은 PySpark의 Python 객체에서 Python 함수를 직접 실행하는 경우에만 드라이버 노드를 사용하여 데이터를 실행합니다. 아니면 RDD에서 생성하고 Spark의 작업을 사용해야합니까?

답변

0

PySpark에서 배열,리스트, 튜플 또는 사전과 같은 전통적인 파이썬 데이터 객체를 생성 할 수 있습니다.

Pyspark에서 파이썬 기능을 사용하여 대부분의 작업을 수행 할 수 있습니다.

귀하는 해명

+0

감사 RDD를 생성하고 그들에 스파크 작업을 적용 할 수 있습니다 Pyspark 파이썬 라이브러리를 가져 Pyspark

에서 데이터를 처리하는 데 사용할 수 있습니다! 그래서, 저는 PySpark에서 Python 데이터 객체를 자유롭게 만들 수 있습니다. 그러나 그들은 올바르게 배포되지 않았습니까? 거대한 파이썬 사전을 만들었다면 드라이버 프로그램을 실행하는 노드의 메모리에만 저장됩니다. PySpark에서 데이터를 배포하는 유일한 방법은이를 RDD와 같은 Spark 데이터 객체로 변환하는 것입니다. 맞습니까? 즉, 파이썬 데이터 객체를 만들고 작업을 수행 할 수 있지만 RDD 객체에 대한 스파크 작업 만 배포 할 수 있다는 의미입니까? –

관련 문제