来自 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
查看它们。
sudo cp /etc/hive/conf.dist/hive-site.xml /etc/spark/conf/
这在 Cloudera 快速启动 Virtual Box 中对我有用。
您必须将 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,它应该可以工作。
奇怪的是,我必须将所有 Spark 数据框列名称小写,然后才能从 Hive 看到表内容。
df = df.toDF(*[c.lower() for c in df.columns])
我认为您需要在 hive 控制台中运行
INVALIDATE METADATA;
来刷新数据库并查看新表。