加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 需要使用spark中的数据库限定符访问Hive表

发布时间:2020-12-16 10:06:48 所属栏目:安全 来源:网络整理
导读:我可以从spark- shell访问hive表,但在提交作为工作的一部分时接收下面指定的异常: val df = sqlContext.table("dbName.tableName") 线程“main”中的异常org.apache.spark.sql.AnalysisException:临时表不允许指定数据库名称或其他限定符.如果表名中有点(.
我可以从spark- shell访问hive表,但在提交作为工作的一部分时接收下面指定的异常:

val df = sqlContext.table("dbName.tableName")

线程“main”中的异常org.apache.spark.sql.AnalysisException:临时表不允许指定数据库名称或其他限定符.如果表名中有点(.),请用反引号(`)引用表名.

请让我知道如何解决这个问题.

解决方法

你不能从sqlContext那样做,你需要为此定义一个HiveContext,如下所示:

val hiveContext = new HiveContext(sc)
import hiveContext.implicits._
import hiveContext.sql

hive上下文增加了对在MetaStore中查找表并使用HiveQL编写查询的支持.没有现有Hive部署的用户仍可以创建HiveContext.

如果未由hive-site.xml配置,则上下文会自动在当前目录中创建metastore_db和warehouse.

一旦定义了HiveContext,就可以在HiveQL中表达查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读