나는 pyspark에서 사용하고있는 브로드 캐스트 변수를 가지고 있으며 사용 가능한 공간이 얼마나되는지 알고 싶습니다.pyspark에서 브로드 캐스트 변수에 사용할 수있는 메모리 양을 파악하는 방법은 무엇입니까?
브로드 캐스트 된 변수가 spark.executor.memory
내에 있지만 저장소의 범위 내에 있어야한다는 것을 알고 있습니까? 아니면 처리의 경계?
spark.memory.fraction
은 처리에 사용 된 금액에 비해 저장에 사용 된 spark.executor.memory
의 비율을 결정하는 데 사용되는 것으로 알고 있습니다. 하지만 spark.executor.memory
은 10GB이고 spark.memory.fraction
은 0.75
입니다.
브로드 캐스트 된 변수가 2.5GB
보다 작거나 5GB
보다 작습니까?
이것은 pyspark 1.6.1입니다.
또한 여기에 참조 점으로 유용한 리소스가 있습니다. https://0x0fff.com/spark-memory-management/
해당 기사의 "사용자 메모리"가 무엇인지 이해할 수 없습니다.
편집 :이 질문의 연장으로 cached
테이블이 저장된 위치를 확인하는 것이 좋습니다. 브로드 캐스트 변수와 같은 위치에 있습니까? 어딘가 다른가? 내 안에는 마치 spark.memory.storageFraction
안에있는 것 같습니다.
코어 당 한 번입니까? 나는 그들이 executor 당 한 번 복제된다고 생각한다.이 자원을 보라 : http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/ 문장에 "작은 실행자를 실행하는 중 ..."을 시작합니다. @ user9070098에 동의합니까? – jaja
또한, 브로드 캐스트 된 변수에 사용되는 * 실행 메모리 * 인 경우, 'spark.executor.memory * spark.memory.fraction * (1-spark.memory.storageFraction)'이 제 이해에서 한계가됩니다. 최소한이 자료에 따르면 : https :///http : //wwwxffff.com/spark-memory-management/ – jaja