Spark ジョブ (バージョン 1.2.0) を実行しています。入力は Google Cloud Storage バケット内のフォルダーです (つまり、gs://mybucket/folder)。
Mac マシンでローカルにジョブを実行すると、次のエラーが発生します。
5932 [main] ERROR com.doit.customer.dataconverter.Phase1 - 日付: 2014_09_23 のジョブがエラーで失敗しました: スキームのファイルシステムがありません: gs
gs パスをサポートするには、2 つのことを行う必要があることを知っています。1 つは GCS コネクタをインストールする方法で、もう 1 つは 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 の場所が Spark 用に構成されている場所と、hadoop conf が構成されている場所がわからないことです。したがって、間違った Hadoop インストールに追加している可能性があります。また、ファイルを変更した後に再起動する必要があるものはありますか? 私の知る限り、私のマシンでは Hadoop サービスが実行されていません。