현재 선형 회귀 (스파크 ML)의 벤치 마크가있는 작은 클러스터 (3 개의 노드가 32 개의 CPU 및 128GB 램)에서 Spark 2.1.0을 평가 중입니다. 필자는 매개 변수 계산 (시작, 데이터로드 등을 포함하지 않음) 시간 만 측정하고 다음 동작을 인식했습니다. 작은 데이터 세트 0.1 Mio - 3 Mio 데이터 포인트의 경우 측정 된 시간은 실제로 증가하지 않고 약 40 초 정도입니다. 300 Mio 데이터 포인트와 같은 더 큰 데이터 세트의 경우에만 처리 시간이 최대 200 초가되었습니다. 따라서 클러스터는 작은 데이터 집합으로는 확장되지 않습니다.스파크 클러스터가 작은 데이터로 확장되지 않습니다
필자는 로컬 PC의 작은 데이터 세트를 10 명의 직원과 16GB RAM 만 사용하는 클러스터와 비교했습니다. 클러스터의 처리 시간은 3 배 더 큽니다. 이것은 SPARK의 정상적인 동작으로 간주되며 통신 오버 헤드로 설명 할 수 있습니까? 아니면 내가 잘못하고있는 것입니까 (아니면 실제로 회귀가 아닌 선형 회귀입니까?)?
클러스터는 독립 실행 형 클러스터 (원사 또는 메소 스가 없음)이고 벤치 마크는 90 인 작업자와 함께 제출되며 각각 1 코어 및 4GB 램이 있습니다.
스파크 제출 : ./spark-submit --master의 불꽃을 : // 서버 : 7077 --class 벤치 마크 --deploy 모드 클라이언트 --total - 집행 - 코어 90 --executor 메모리 4g - num-executor 90 .../Benchmark.jar pathToData
작은 0.1-0의 성능에 만족하지 않으면 확실하지 않습니다.3M 데이터 세트 또는 더 큰 300M 데이터 세트? – ImDarrenG
안녕하세요, 나는 성능에 만족하지 않습니다. 데이터가 이미로드되어 있고 아주 작은 경우에도 클러스터가 계산에 대해 30 분 정도 걸리는 것이 정상적인 것인지 궁금합니다. –
나는 당신의 관찰이 합리적이라고 말할 것입니다. 그 동안 아무도하지 않았다면 좀 더 자세한 대답을 드릴 것입니다. – ImDarrenG