Hive 表是从 Spark 创建的,但在 hive 中不可见

问题描述 投票:0回答:4

来自 Spark 使用:

DataFrame.write().mode(SaveMode.Ignore).format("orc").saveAsTable("myTableName")

表正在保存,我可以使用下面命令的 hadoop

fs -ls /apps/hive/warehouse\test.db'
来查看,其中
test
是我的数据库名称

drwxr-xr-x - psudhir hdfs 0 2016-01-04 05:02 /apps/hive/warehouse/test.db/myTableName

但是当我尝试检查 Hive 中的表时,我无法使用 hiveContext 中的命令

SHOW TABLES
查看它们。

apache-spark hive hiveql hivecontext
4个回答
2
投票
sudo cp /etc/hive/conf.dist/hive-site.xml /etc/spark/conf/

这在 Cloudera 快速启动 Virtual Box 中对我有用。


1
投票

您必须将 hive-site.xml 文件(我的位于 /etc/hive/conf.dist/hive-site.xml)复制到 Spark conf 文件夹(我的位于 /etc/spark/conf/ )

sudo cp /etc/hive/conf.dist/hive-site.xml /etc/spark/conf/

重新启动 Spark,它应该可以工作。


0
投票

奇怪的是,我必须将所有 Spark 数据框列名称小写,然后才能从 Hive 看到表内容。

df = df.toDF(*[c.lower() for c in df.columns])

-3
投票

我认为您需要在 hive 控制台中运行

INVALIDATE METADATA;
来刷新数据库并查看新表。

© www.soinside.com 2019 - 2024. All rights reserved.