【问题标题】:Hive Tables are created from spark but are not visible in hiveHive 表是从 spark 创建的,但在 hive 中不可见
【发布时间】:2016-04-08 02:21:38
【问题描述】:

从火花使用:

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 查看它们。

【问题讨论】:

  • 这是一个内部表吗?/或者你已经提到了一些外部表
  • 我没听明白,“myTableName”是新表名,抱歉我使用 SaveMode.Ignore 和 SaveMode.Errorifxists 创建新表
  • 你放在 Spark conf 目录下的 hive-conf 文件的内容是什么?你能从 Spark Hive 表中看到吗?

标签: apache-spark hive hiveql hivecontext


【解决方案1】:
sudo cp /etc/hive/conf.dist/hive-site.xml /etc/spark/conf/

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

【讨论】:

    【解决方案2】:

    您必须将 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,它应该可以工作了。

    【讨论】:

      【解决方案3】:

      我认为您需要在 hive 控制台中运行 INVALIDATE METADATA; 以刷新数据库并查看您的新表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多