【发布时间】:2017-03-04 06:21:39
【问题描述】:
我为 SparkSql 和 Hive 连接创建了一个 Maven 项目并编写了以下示例代码:
SparkSession spark = SparkSession
.builder()
.appName("Java Spark Hive Example")
.master("local[*]")
.config("hive.metastore.uris", "thrift://localhost:9083")
.enableHiveSupport()
.getOrCreate();
try{
spark.sql("select * from health").show();
} catch(Exception AnalysisException) {
System.out.println("table not found");
}
我正在使用 Spark 2.1.0 和 Hive 1.2.1
为了运行上述代码,我从 Spark 文件夹中导入 Jar 文件并将其包含在项目中。我没有将 Maven Pom.xml 用于这项特定的工作。但是当我迁移到 AWS 等更大的集群时,我需要运行我的 JAR 文件。
我无法运行,因为 Maven 无法找到依赖项。所以我想到了添加依赖项。我试过这个:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.1.0</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>
但它不起作用,我无法看到之前通过添加 JAR 文件获得的输出。
我想知道我是否做错了什么,如果是,请建议我该怎么做?即使按照文档中的 Spark 说明,我如何在 pom.xml 中将 hive-site.xml 和 hdfs-site.xml 添加到我的项目中?目前使用 IntelliJ。
请让我知道我能做些什么来解决我的问题?
【问题讨论】:
标签: maven apache-spark intellij-idea hive apache-spark-sql