为什么在应用程序中使用SQLContext对配置单元表执行SQL失败(但在sparkshell中执行相同的查询效果良好)



我正在使用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>

最新更新