2017-04-05 1 views
0

우리가 스파크 작업을하고 있다면, 스파크의 로지스틱 회귀를 말하자.왜 스파크의 첫 번째 반복이 느리고 반복이 더 빠릅니까?

첫 번째 반복 스파크는 약 80 초가 걸리고, 1 초가 걸릴 것입니다. 그 이유는 무엇입니까?

스파크의 내부 동작은 무엇입니까? 스파크가 데이터를 메모리에 저장하는 이유는 계산이 더 빠르지 만 자세한 설명이 좋은 이유입니다.

+0

작업 클러스터 또는 독립 실행 형은 어디에 있습니까? 또한 – FaigB

+0

에 영향을 미친 코드 스 니펫을 제공하십시오. 예를 들어 초기화, 클러스터 배포 등이 포함될 수 있습니다. – Wang

+0

@FaigB는 모든 스파크 코드를 사용합니다. 나는 이론적 인 질문 만하고있다. –

답변

2

몇 가지 :

  1. 첫 번째 반복 등, 노동자에 코드를 전송 포함 할 수는
  2. ML 알고리즘의 대부분은 메모리에 입력 데이터를 캐시합니다. 캐시가 게으르므로 첫 번째 반복에서는 전체 데이터 세트가 캐싱되고 RAM으로 이동되며 다음 반복 알고리즘에서는 캐싱 된 데이터가 훨씬 빠릅니다.
  3. 스파크 인프라를 초기화해야합니다. 컨텍스트의 일부인 실행 프로그램 JVM
+0

모든 Spark 인프라 (컨텍스트의 게으른 부분 등), 실행자 JVM 등의 초기화를 잊지 마십시오. – zero323

+0

@ zero323 감사합니다. 나는 그것을 더했습니다 :) –

+0

:) 이것이 실제로 가장 큰 기여자라고 생각합니다. 얼마전에 일부 테스트를 게시 한 것을 기억하며 "아무 작업이없는"작업도 비슷한 지연을 나타냅니다. – zero323

관련 문제