[HADOOP] 로컬로 스파크 작업을 실행할 때 "Scheme : gs에 대한 파일 시스템 없음"
HADOOP로컬로 스파크 작업을 실행할 때 "Scheme : gs에 대한 파일 시스템 없음"
Spark 작업 (버전 1.2.0)을 실행 중이며 입력 내용은 Google Clous Storage 버킷 (예 : gs : // mybucket / 폴더)에있는 폴더입니다.
내 Mac 컴퓨터에서 로컬로 작업을 실행할 때 다음과 같은 오류가 발생합니다.
gs 경로를 지원하려면 2 가지 작업을 수행해야한다는 것을 알고 있습니다. 하나는 GCS 커넥터를 설치하고 다른 하나는 Hadoop 설치의 core-site.xml에 다음 설정을 설치합니다.
<property>
<name>fs.gs.impl</name>
<value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem</value>
<description>The FileSystem for gs: (GCS) uris.</description>
</property>
<property>
<name>fs.AbstractFileSystem.gs.impl</name>
<value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS</value>
<description>
The AbstractFileSystem for gs: (GCS) uris. Only necessary for use with Hadoop 2.
</description>
</property>
내 문제는 각 부분을이 로컬 모드에서 정확히 구성해야하는지 잘 모르겠다는 사실에서 비롯된 것 같습니다. Intellij 프로젝트에서 Maven을 사용하고 있으므로 다음과 같이 spark 라이브러리를 가져 왔습니다.
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.2.0</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</exclusion>
</exclusions>
</dependency>
, Hadoop 1.2.1을 다음과 같이 정의합니다.
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>1.2.1</version>
</dependency>
문제는, 어디 hadoop 위치가 스파크에 대해 구성되어 있는지, 그리고 또한 어디에 hadoop conf가 구성되어 있는지 모르겠습니다. 따라서 잘못된 Hadoop 설치를 추가하는 중일 수 있습니다. 또한, 파일을 수정 한 후에 다시 시작해야하는 것이 있습니까? 내가 본 것까지는 내 컴퓨터에서 Hadoop 서비스가 실행되지 않습니다.
해결법
-
==============================
1.Spark이 $ {SPARK_INSTALL_DIR} / conf 수정과 관련된 관련 Hadoop 구성을 선택하는 데 도움이되는 몇 가지 방법이 있습니다.
Spark이 $ {SPARK_INSTALL_DIR} / conf 수정과 관련된 관련 Hadoop 구성을 선택하는 데 도움이되는 몇 가지 방법이 있습니다.
Older Spark docs는 이것이 Spark의 클래스 패스에 xml 파일을 자동으로 포함 시킨다는 것을 설명합니다 : https://spark.apache.org/docs/0.9.1/hadoop-third-party-distributions.html
최신 Spark 문서는 이것을 우선적으로 사용하는 방법으로 알려줍니다 : https://spark.apache.org/docs/1.1.0/hadoop-third-party-distributions.html
-
==============================
2.스칼라에서 hadoopConfiguration을 설정할 때 다음과 같은 설정을 추가하십시오 :
스칼라에서 hadoopConfiguration을 설정할 때 다음과 같은 설정을 추가하십시오 :
val conf = sc.hadoopConfiguration conf.set("fs.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem") conf.set("fs.AbstractFileSystem.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS")
-
==============================
3.나는 틀린 말을 할 수 없지만, 여기 내가 시도 할 것이있다.
나는 틀린 말을 할 수 없지만, 여기 내가 시도 할 것이있다.
프로그램을 다시 시작해야합니다. Hadoop 프로세스가 없습니다. 로컬 및 독립형 모드에서 Spark는 Hadoop을 라이브러리로만 사용하며 IO 용으로 만 사용합니다.
from https://stackoverflow.com/questions/27782844/no-filesystem-for-scheme-gs-when-running-spark-job-locally by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 직렬화에서 Avro NullPointerException이있는 MRUnit (0) | 2019.06.11 |
---|---|
[HADOOP] Hadoop MapReduce에서 Map 출력 값으로 Object를 어떻게 설정합니까? (0) | 2019.06.11 |
[HADOOP] 데이터를 HDFS로 복사 할 때 createBlockOutputStream의 예외 (0) | 2019.06.11 |
[HADOOP] Spark / Python에서 누락 된 누락 값 전달 (0) | 2019.06.11 |
[HADOOP] Apache Spark을 사용하여 pdf / audio / video 파일 (구조화되지 않은 데이터)을 읽을 수 있습니까? (0) | 2019.06.11 |