2017-12-06 12 views
0

큰 데이터 프레임을 필터링하기 위해 스파크를 사용하려고합니다. 팬더 데이터 프레임으로서 메모리에서 약 70GB 정도가 될 것입니다. 내가이 사용 PySpark을 수행하려고 할 때로드하고 팬더를 사용하여이 데이터를 필터링 할 수 있어요내가 무슨 짓을하든간에 불꽃이 튀어 나옴

그러나 정말 천천히 나는 등 디스크로 교체해야하기 때문에

그러나 나는 자바에서 메모리 오류로 실행합니다.

from pyspark.sql import SparkSession 
spark = SparkSession.builder.appName("Master").getOrCreate() 
master = spark.read.csv(master_path, inferSchema=True, schema=schema, header=True) 

master_desember = spark.sql("SELECT * FROM master_filter_ready WHERE born_month='12'") 
master_desember = master_desember.toPandas() 

편집 : 나는 그것을 만들기 전에 내가 스파크 세션 메모리를 설정하는 방법 그래서 내 질문은? 또한 사용할 값을 어떻게 결정할 수 있습니까? 지금은 추측하고 있습니다. 의견을 읽은 후

답변

0

내가 이런 짓 세션을 생성하기 전에 메모리를 설정하기 위해 필요에 대한 내 질문 노호 :

from pyspark.sql import SparkSession 

builder = SparkSession.builder 
builder = builder.config("spark.executor.memory", "2G") 
builder = builder.config("spark.driver.memory", "10G") 
builder = builder.config("spark.driver.maxResultSize", "5G") 
spark = builder.appName("Master").getOrCreate() 

이 내 문제를 해결했다. 그러나 Spark와 PySpark의 작동 방식에 익숙하지 않아서 왜이 값들이 효과가 있었는지 확신 할 수 없습니다.

어디에서 값을 설정할 지에 대한 정보가 있으면 언제든지 알려주세요. :)