我正在使用Spark1.6。
我正试图通过以下方式连接到我的spark-sql-java代码中的一个表:
JavaSparkContext js = new JavaSparkContext();
SQLContext sc = new SQLContext(js);
DataFrame mainFile = sc.sql("Select * from db.table");
它给了我一个找不到表的异常。
但当我在sparkshell中使用scala时,它工作得很好。该表被访问,我也可以打印出数据。
关于这个问题有什么意见吗?
Spark shell提供HiveContext。如果您想在Java代码中使用HiveContext,那么在应用程序中添加它的依赖项,然后在Java程序中使用。请参阅http://spark.apache.org/docs/1.6.2/sql-programming-guide.html#hive-表格
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.10</artifactId>
<version>1.6.2</version>
</dependency>