1

spark가 입력으로 로컬 파일을 가져올 수는 있지만 배포 할 수 있습니까?클러스터 모드에서 spark를 실행하는 방법은 무엇입니까?

내 코드에 sc.textFile(file:///path-to-file-locally)이 있는데, 파일의 정확한 경로가 정확한지 알고 있습니다. 아직, 나는 아직도 받고있다

Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. 
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 1.0 failed 4 times, most recent failure: Lost task 0.3 in stage 1.0 (TID 14, spark-slave11.ydcloud.net): java.io.FileNotFoundException: File file:/<path to file> does not exist 

나는 spark를 배포하고 있고, 지역적으로 배포하고 있지 않다. 왜 오류가 있습니까?

답변

3

로컬 경로를 입력으로 선언 할 때 각 작업자 컴퓨터와 드라이버에 있어야합니다. 따라서 수동으로 또는 SparkFiles과 같은 내장 도구를 사용하여 먼저 배포해야 함을 의미합니다.

+0

덕분에 모습을 가질 수 있습니다. 나는 또한 파일을 먼저 배포하고, spark를 실행 한 다음 hadoop 명령을 사용하여 파일을 삭제하기 위해 hadoop 명령을 사용할 수 있다고 가정합니다. 권리? – buzzinolops

+0

예. 요점은 - 데이터를 읽으면 클러스터의 각 시스템에서 액세스 할 수 있어야한다는 것입니다. – zero323

3

파일은 모든 노드에서 액세스 할 수있는 중앙 위치에 있어야합니다. 이는 분산 파일 시스템을 사용하여 수행 할 수 있으며 dse는 CFS (Cassandra File System)라는 HDFS를 대체합니다. dfs가 -k 옵션을 사용하여 분석 모드로 시작될 때 cfs를 사용할 수 있습니다.

설정 및 CFS를 사용하여 더 자세한 내용은 다음 링크를 http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/ana/anaCFS.html