在sparkSQL中无法找到Hive表apache.spark.sql.catalyst.analysis.NoSuchTableException:Table or view ‘emp‘ not f

68 篇文章 0 订阅
16 篇文章 1 订阅

1.问题描述

使用Scala编程,通过SparkSession连接hive中的表,但是没有找到,报错:

Exception in thread "main" org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Table or view 'emp' not found in database 'default';

然而,在spark-shell中使用同样的命令,却可以访问到hive中的表。很纠结!

附上代码:

    val spark=SparkSession.builder().appName("HiveMySQLApp").master("local[2]").getOrCreate()
    //加载hive表
    val hiveDF=spark.table("emp")

    //关闭
    spark.close()

2.问题原因

SparkSession没有开启支持hive的功能

3.解决办法

在SparkSession添加支持hive的配置:SparkSession.enableHiveSupport()

    val spark=SparkSession.builder().appName("HiveMySQLApp").master("local[2]").enableHiveSupport().getOrCreate()
    //加载hive表
    val hiveDF=spark.table("emp")

    //关闭
    spark.close()

  解决!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值