【问题标题】:Tables not found when hive cli called from different directory从不同目录调用 hive cli 时找不到表
【发布时间】:2013-06-21 01:30:30
【问题描述】:

我在使用 Hive Tables 时遇到了一个奇怪的问题。我在环境中设置了HIVE_HOME,它也在我的搜索路径中,所以我可以直接调用hive

现在我从一个目录调用hive,比如说/a/b/c 并创建一些表。我可以看到表格。

现在我切换到一个目录,例如 /a/b 并从那里调用 hive。这是问题部分。要么我看不到表格,要么我收到此错误

hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Failed to start    
database 'metastore_db', see the next exception for details.

NestedThrowables:
java.sql.SQLException: Failed to start database 'metastore_db', see the next exception    
for details.
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

为什么表会绑定到调用hive cli 的目录?有什么指点吗?

【问题讨论】:

  • 请验证以下链接,它可能会有所帮助。 stackoverflow.com/questions/10735843/…>
  • @RamanaUppala,不,不是同一个问题。
  • 当 hive 从同一目录启动时,表在目录中可见。但从其他目录启动 hive 时不可见
  • 参考拉玛那给出的解决方案解决

标签: hadoop hive


【解决方案1】:

我认为您正在使用配置单元用于存储元数据的 derby 服务器。因此,您可以做的是删除 metastore_db 文件夹中的所有内容,然后尝试重新启动 hadoop。然后试着看看。但是,我认为最好的建议是使用 mysql 作为元存储。

【讨论】:

  • 以后你会再次遇到这个元数据异常的问题。暂时您将能够通过配置单元进行查询。因此使用 mysql 作为元存储并在 hive-site.xml (javax.jdo.option.ConnectionURL) 中设置适当的 uri。你为什么要-1。请给出理由?
猜你喜欢
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 1970-01-01
  • 2018-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多