복붙노트

[SCALA] 업로드 된 파일의 경로를 얻는 방법

SCALA

업로드 된 파일의 경로를 얻는 방법

나는 구글 클라우드에 스파크 클러스터를 실행하고 나는 각 작업에 구성 파일을 업로드 할 수 있습니다. 제출 명령으로 업로드 된 파일의 경로는 무엇입니까?

나는 SparkContext 전에 파일 Configuration.properties을 읽을 수있는 방법을 아래의 예에서 초기화 된? 나는 스칼라를 사용하고 있습니다.

 gcloud dataproc jobs submit spark --cluster my-cluster --class MyJob  --files  config/Configuration.properties --jars my.jar  

해결법

  1. ==============================

    1.SparkFiles기구를 이용하여 분산 형 파일에 로컬 경로 SparkFiles.get 방법을 사용하여 얻어 질 수있다 (인수가 SparkContext.addFile --files)

    SparkFiles기구를 이용하여 분산 형 파일에 로컬 경로 SparkFiles.get 방법을 사용하여 얻어 질 수있다 (인수가 SparkContext.addFile --files)

    org.apache.spark.SparkFiles.get(fileName)
    

    또한 SparkFiles.getRootDirectory를 사용하여 루트 디렉토리에 대한 경로를 얻을 수 있습니다 :

    org.apache.spark.SparkFiles.getRootDirectory
    

    당신은 파일을 읽을 표준 IO 유틸리티와 결합 된 이러한 사용할 수 있습니다.

    SparkFiles이 드라이버에 의해 분산되어, 컨텍스트가 초기화되었으며, 처음에 배포 할 전에, 액세스 드라이버 노드에서 액세스 할 수 있습니다 할 수 없습니다. 그래서 질문의이 부분은 전적으로 당신이 드라이버 노드에 파일을 노출하는 데 사용할 스토리지의 유형 따라 달라집니다.

  2. from https://stackoverflow.com/questions/41677897/how-to-get-path-to-the-uploaded-file by cc-by-sa and MIT license