小编Joy*_*eep的帖子

在 Spark SQL 中找不到 Hive 表 - Cloudera VM 中的 spark.sql.AnalysisException

我正在尝试通过 java 程序访问 Hive 表,但看起来我的程序在默认数据库中没有看到任何表。但是,我可以看到相同的表并通过 spark-shell 查询它们。我已经在 spark conf 目录中复制了 hive-site.xml。唯一的区别 - spark-shell 运行的是 spark 1.6.0 版,而我的 java 程序运行的是 Spark 2.1.0

package spark_210_test;

import java.util.List;
import org.apache.spark.SparkConf;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

public class SparkTest {

private static SparkConf sparkConf;
private static SparkSession sparkSession;

public static void main(String[] args) {
    String warehouseLocation = "hdfs://quickstart.cloudera/user/hive/warehouse/";
    sparkConf = new SparkConf().setAppName("Hive Test").setMaster("local[*]")
            .set("spark.sql.warehouse.dir", warehouseLocation);

    sparkSession = SparkSession
      .builder()
      .config(sparkConf)
      .enableHiveSupport()
      .getOrCreate();

    Dataset<Row> df0 = sparkSession.sql("show tables");
    List<Row> currentTablesList = df0.collectAsList();
    if (currentTablesList.size() …
Run Code Online (Sandbox Code Playgroud)

hive cloudera apache-spark apache-spark-sql

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1

cloudera ×1

hive ×1