apache-spark - Spark Hive:临时表在会话中消失
问题描述
我使用创建了几个临时表
hive.executeUpdate("CREATE TEMPORARY TABLE AS SELECT ...")
在 Spark 的 Hive 中。我检查所有表格
hive.showTables().show()
在我稍后执行的每个查询之间的会话中(都喜欢INSERT INTO ... SELECT ...
)并且临时表被不可预测地删除。
这在 HiveQL 中没有发生。
有人有类似的问题吗?
解决方案
通过查看您的 api,我认为您正在使用hortonworks-spark连接器
你必须在你的表前面加上 databaseschema.table。
或像这样设置数据库。
hive.setDatabase("default")
然后你的 CTAS
hive.executeUpdate("CREATE TEMPORARY TABLE AS SELECT ...")
例如:
val sql = s"create temporary table $tmpTableName like $dbName.$tabName "
接着
INSERT INTO ... SELECT ...)
你想做什么。
问:这在 HiveQL 中没有发生。有人有类似的问题吗?
在 hiveql 中,您将使用相同的数据库模式,这就是它按预期工作的原因。
推荐阅读
- f# - 棋盘上棋子的错误排列
- javascript - 如何将视频放入也适用于 IE 的整个屏幕
- linux - glibc_2.27 未找到电子
- xss - Vee-validate 似乎可以验证 XSS 威胁电子邮件地址 - 是否需要额外的卫生设施?
- google-apps-script - 是否有永久批准脚本的选项?
- python - 根据文件夹中以前的文件版本更改输出文件名
- docker - Docker 运行命令,只需一行命令即可实现几步
- swift - 如何在 init“内容”属性中计算和初始化?迅速
- postgresql - 如何设置 DataGrip 通过使用 DataGrip 的隧道以 SSL 模式连接 Cloud SQL
- reactjs - 以位置为中心渲染谷歌地图 OverlayView