2016-12-15 1 views
1

독립 실행 형 모드에서 스파크 작업 서버 (https://github.com/spark-jobserver/spark-jobserver/tree/jobserver-0.6.2-spark-1.6.1 참조)를 설정했습니다.스파크 작업 서버 릴리스 메모리

사용할 기본 컨텍스트를 만들었습니다. 다른 서버와

  • 동기화 : 현재 나는이 상황에서 작업의 2 종류가
    • 가 다른 서버의 DB에서 데이터를 덤프를;
    • 일부 조인을 수행하고 데이터를 줄이며 새 DF를 생성합니다.
    • 얻은 DF를 마루 파일에 저장합니다.
    • 이 쪽모 파일을 임시 테이블로로드하고 캐시하십시오.
  • 쿼리 : 캐시 된 테이블에 대해 SQL 쿼리를 수행하십시오.

내가 유지하는 유일한 개체는 캐시 될 최종 테이블입니다.

동기화를 수행 할 때 할당 된 모든 메모리가 사용되었지만 결코 릴리스되지 않지만 내가 마루 파일을 직접로드하는 경우 (서버의 새로 시작, 마루 파일 사용 이전에 생성 된) 메모리의 일부만 사용됩니다.

내가 뭔가를 잃어 버렸나요? 사용하지 않는 메모리를 확보하는 방법이 있습니까? yourTable.unpersist()

:

답변

1

당신은 캐시 테이블을 unpersisting하여 메모리를 확보 할 수 있습니다 주셔서 감사합니다