我为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说明,如何添加 hive-site.xml
以及 hdfs-site.xml
在pom.xml中处理我的项目?当前正在使用intellij。请让我知道我能做些什么来解决我的问题?
1条答案
按热度按时间pbgvytdp1#
我看到有一个错误的配置依赖。
在你的maven依赖中
spark-sql
&spark-hive
是版本的1.2.1
但是spark-core
是版本的2.1.0
将所有依赖项更改为相同的版本号,这样就可以了