2014-11-11 2 views
1

스파크가 동시 쿼리를 어떻게 처리합니까? 스파크와 기본 RDD에 대해 조금 읽었지만 동시 쿼리가 어떻게 처리 될지 이해할 수 없습니까?Spark에서 병렬 쿼리 실행하기

예를 들어 메모리에 데이터를로드하는 쿼리를 실행하고 사용 가능한 전체 메모리가 소비되는 동시에 다른 사람이 다른 데이터 집합과 관련된 쿼리를 실행하는 경우 메모리를 두 쿼리 모두에 할당하는 방법은 무엇입니까? ? 또한 우선 순위가 고려 될 경우 어떤 영향을 미칠 수 있습니다.

또한 병렬 쿼리를 많이 실행하면 컴퓨터가 정지 할 수 있습니까?

+0

두 개의 서로 다른 스파크 드라이버에서 두 개의 동시 쿼리를 실행합니까? – 1esha

+1

동일한 SparkContext에서 동일한 RDD에 대해 두 가지 동시 작업을 수행하고 있습니까? –

+0

동일한 RDD 또는 여러 RDD에 동시에있을 수 있습니다. 내 아이디어는 여기에 여러 사용자가 spark에서 작업을 실행하는 경우 메모리 할당은 어떻게됩니까? – Amar

답변

2

먼저 스파크는 임계 값 한계를 초과하는 메모리 내 (RAM)를 차지하지 않습니다.

Spark는 모든 작업에 기본 인 메모리를 할당하려고합니다.

새 작업에 필요한 메모리가 부족하면 LeastRecentlyUsed (LRU) RDD의 메모리 내 내용을 디스크에 유출 한 다음 새 작업에 할당하려고 시도합니다. 대부분의 다음, 아니 작업의 거대한으로 낮은 메모리 시스템을 고려

선택적으로 당신은 또한 단지, ​​DISK 만, 메모리와 디스크 등이 ..

이 시나리오 IN-MEMORY 같은 RDD의 저장을 지정할 수 있습니다 RDD는 위의 방법에 따라 디스크에만 배치됩니다. 따라서 작업은 계속 실행되지만 Spark 메모리 내 처리를 활용하지는 않습니다.

스파크는 메모리 할당을 매우 지능적으로 수행합니다.

YARN 상단에서 Spark를 사용한 경우 자원 관리자가 자원 할당을 수행합니다.

관련 문제