我正在运行 Spark 作业(版本 1.2.0),输入是 Google Clous Storage 存储桶内的文件夹(即 gs://mybucket/folder)
在我的 Mac 机器上本地运行作业时,我收到以下错误:
5932 [main] 错误 com.doit.customer.dataconverter.Phase1 - 日期:2014_09_23 的作业失败并出现错误:方案没有文件系统:gs
我知道需要做两件事才能支持 gs 路径。一种是安装 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>
问题是,我不确定为 Spark 配置 hadoop 位置的位置,以及配置 hadoop conf 的位置。因此,我可能会添加到错误的 Hadoop 安装中。另外,修改文件后有什么需要重启的吗?据我所知,我的机器上没有运行 Hadoop 服务。