2014-09-10 8 views
1

큰 데이터를 처리 할 때 Shark/Spark SQL을 사용하면 Spark는 Out Of Memory에 경고합니다. 터널링 GC는 사용하지 않습니다. 원시 데이터가 너무 커서 처리 할 수 ​​없다고 생각합니다.Shark/Spark SQL에 필요한 메모리를 계산하는 방법은 무엇입니까?

제 질문은 Spark에 할당 할 메모리를 예측할 수있는 방법입니까, 아니면 Spark에 특정 메모리가 주어지면 Spark에서 처리 할 수있는 최대 데이터를 계산할 수 있습니까?

답변

0
  1. 데이터 크기 란?
  2. shark/spark SQL에 어떤 모드를 사용합니까? 독립형, 원사, mesos? 먼저 테스트를 위해 독립 실행 형 모드를 사용하십시오.
  3. 기계 환경 설정이란 무엇입니까? VM? CPU? 기억?
  4. 메모리를 설정하려는 경우에는 다음과 같이 당신의 스칼라 코드에서 이것을 시도 할 수있다,

    val conf = new SparkConf() 
        .setMaster("local") 
        .setAppName("Wordcount") 
        .set("spark.executor.memory", "4g") 
    val sc = new SparkContext(conf) 
    

당신은 더 튜닝 정보를 방문 할 수 있습니다

. http://spark.apache.org/docs/latest/tuning.html#data-serialization 참조 용 스파크 구성. http://spark.apache.org/docs/latest/configuration.html

+0

이제는 문제가 해결되었습니다. 그 이유는 정리를 설정하는 것을 잊었다는 것입니다. – tonyking

관련 문제