2017-04-12 9 views
0

각 노드에서 읽어야하는 마스터 노드에 파일이 있습니다. 어떻게하면 가능합니까? Hadoop의 MapReduce에서 저는Spark은 Hadoop의 DistribuitedCache와 비슷한 각 노드의 파일을 읽습니다.

DistribuitedCache.getLocalCacheFiles(context.getConfiguration()) 

노드 사이의 파일 공유는 어떻게 작동합니까? RAM에 파일을로드하고 변수를 브로드 캐스트해야합니까? 아니면 SparkContext 구성에서 파일의 경로 (절대 경로)만을 표시 할 수 있습니까? 그러면 모든 노드에서 즉시 사용할 수 있습니까?

답변

0

분산 캐시에서 파일을 읽는 데 SparkFiles를 사용할 수 있습니다. 여기에, 예를 들어, "파일"매개 변수를 제출 스파크에

import org.apache.spark.SparkFiles 
import org.apache.hadoop.fs.Path 

sc.addFile("/path/to/file.txt") 
val pathOnWorkerNode = new Path(SparkFiles.get("file.txt"))