gpt4 book ai didi

scala - 需要使用来自 spark 的数据库限定符访问 Hive 表

转载 作者:行者123 更新时间:2023-12-04 17:52:32 25 4
gpt4 key购买 nike

我能够从 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 和仓库。

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

关于scala - 需要使用来自 spark 的数据库限定符访问 Hive 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33221092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com