sql - 在 Spark2 Scala 中找不到 Hive 表
问题描述
我有以下功能:
def getMet(spark: SparkSession): DataFrame = {
val spark = SparkSession.builder().appName("AB Test").enableHiveSupport().getOrCreate()
val dfMet = spark.sql(s"""SELECT
10,
cod_entrep as ID_ENTITE,
cod_entrep_assu as ID_ENTITE_GARANTE,
id_notification,
objet_metier as REF_EXT_OBJET_METIER,
case when typ_mvt = "S" then 1 else 0 end as TOP_SUPP,
case when typ_mvt = "S" then dt_capt else null end as DT_SUPP
FROM dev_lkr_send.pz_send_notification""")
}
哪个返回
捕获的异常:org.apache.spark.sql.AnalysisException:找不到表或视图:pz_send_notification;第 10 行位置 0
该表存在于 Impala 中,在spark2-shell上执行相同的步骤可以正常工作。
有什么帮助吗?
解决方案
我刚刚找到了解决方案,我必须在执行命令中使用--files选项指示hive-site.xml文件。
推荐阅读
- json - 当箭头中的 3 个斜杠出现在 JSON 代码中时,Html Agility Pack (HAP) 出现问题
- docker - 我们如何在 jenkins docker 容器中安装 npm pdf-parse 库
- java - 为什么 getBean() 在我的 JavaFX + Spring Boot 应用程序中不起作用?
- visual-studio - VS19“突出显示对光标下符号的引用”关闭等效于 C++
- r - 具有 2 种不同颜色的线图 (ggplot2) 下的阴影区域
- python - 用于数据检索的 Bentley Project Wise
- java - 如何让我的评估字符串方程的代码与 PI 和 E 一起使用
- php - 如何使用 php 检查 SQLite3 中是否已存在名称?
- amazon-web-services - 为什么新实例不在负载均衡器的实例列表中?
- java - 如何从android中的firebase实时数据库中获取随机密钥?