【问题标题】:Hive is not showing tablesHive 不显示表格
【发布时间】:2014-01-20 06:49:12
【问题描述】:

我是 Hadoop 和 Hive 世界的新手。

我有一个奇怪的问题。当我在处理蜂巢提示时。我创建了几个表,hive 正在显示这些表。

退出 Hive 会话后,我再次启动 Hive 终端“显示表​​;”没有显示任何表格!我可以在 HDFS 的“/user/hive/warehouse”中看到表。

我做错了什么。你能帮我解决这个问题吗?

【问题讨论】:

  • 您能发布您的元存储配置吗?
  • 我是 Hadoop 和 Hive 的新手。你能告诉我怎么做或者在哪里可以找到吗?
  • 似乎您正在使用默认 derby 作为元存储(如果我的猜测是正确的,您是新手,我猜您还没有接触过 hive-site.xml),请发布您得到的错误或异常(我的意思是查询显示的状态)

标签: hadoop hive


【解决方案1】:

BalduZ 是对的。在 $HIVE_HOME/conf/hive-site.xml 中设置它

属性名称 = javax.jdo.option.ConnectionURL

属性值 = jdbc:derby:;databaseName=/home/youruser/hive_metadata/metastore_db;create=true

下次您可以从任何目录位置运行 hive。这将解决您的问题。

【讨论】:

  • 嗨,你在不安装德比的情况下实现了这个吗?
  • hive 包自带的默认数据库只有 derby。无需单独安装。设置上面的属性告诉 hive,使用嵌入式 derby,将其指向特定位置(/home.yourusername/hive_metadata/metastore_db)以存储 derby-meta 文件。如果未指定 - @Balduz 提到的问题将发生
  • 哇,我想我只是做了非常愚蠢的工作,我独立安装了derby并启动了服务。
【解决方案2】:

我假设您使用的是默认配置,所以问题在于您调用 hive 开始工作的位置,因为您需要从同一目录调用它才能查看您在上一个 hive 会话中创建的表。

例如,如果您在~/test/hive 中调用hive 并创建一些表,而下次使用hive 时从~/test 启动它,您将看不到您之前创建的表。最简单的解决方案是始终从同一目录启动 hive。

但是,更好的解决方案是配置 hive,使其使用 MySQL 等数据库作为元存储。你可以找到如何做到这一点here。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 2013-10-30
    • 2019-02-19
    • 2012-09-15
    • 2012-07-31
    • 1970-01-01
    相关资源
    最近更新 更多