2015-03-08 37 views
3

我已经建立了火花1.2.1使用Maven使用以下命令启用蜂巢支持: mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -DskipTests clean package在Maven项目使用HiveContext

这导致/spark-1.2.1/core/target/scala-2.10/classes文件夹中生成现在

如何做一些类文件我在我的Eclipse + Maven项目中使用这个新建的Spark?我想在Eclipse中使用Spark-SQL的HiveContext类。

回答

16

当您要在java程序中使用SparkSQL时,您可以简单地将相应的依赖添加到您的maven项目中,并且您可以使用所需的分类。通过配置单元支持构建火花使您能够启动具有蜂巢支持的火花守护程序。它生成一个需要复制到所有Spark工作节点的组装jar。有关详细信息,请参阅here

Maven依赖于越来越HiveContext工作:

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-core_2.10</artifactId> 
    <version>1.2.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-sql_2.10</artifactId> 
    <version>1.2.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-hive_2.10</artifactId> 
    <version>1.2.1</version> 
</dependency> 
+0

但是当我尝试使用'MVN斯卡拉编译:compile',我收到此错误: 错误:对象蜂巢不包的成员org.apache.spark.sql – BludShot 2015-03-09 12:40:27

+0

使用您的原始命令mvn -Pyarn -Phadoop-2.4 -Dhadoop.version = 2.4.0 -Phive -DskipTests clean包并将生成的jar复制到worker节点的lib目录中 – vikas 2015-03-10 14:14:26

+0

感谢vikas ,但如果满足所有的依赖关系,它至少应该让我编译项目。 最重要的问题是我的Eclipse无法识别'org.apache.spark.sql.hive'包,即使我在pom中提到了Spark SQL依赖关系。 你能指出我在哪里工作节点的lib目录? – BludShot 2015-03-12 01:18:52