【问题标题】:Is there a way to access hive metastore tables from HCATALOG?有没有办法从 HCATALOG 访问配置单元元存储表?
【发布时间】:2014-04-10 23:03:46
【问题描述】:

在我的应用程序中,我正在使用来自 JDBC 的 hive Metastore(mysql)。现在要求发生了变化,我将无法获得元存储凭据。因此我不能使用 JDBC 访问 Metastore。

我想知道,有没有办法从 HCATALOG 访问 TBLS 和 INDXS 等 hivemetastore 表?提前致谢。

【问题讨论】:

  • 是否需要直接访问元表? HCatalog 确实为您提供了大量信息,但不能直接访问元表。
  • 嗨攀登。你完全理解我的问题。我需要直接访问包含所有配置单元表详细信息的配置单元元表,例如“TBLS”。是不是可以通过 Hcatalog 实现?
  • 攀登,请告诉我在哪里可以找到“Hcatalog 能给我们提供哪些信息?”
  • 开始here。你可以通过 hive 客户端和 hcatalog 获得所有这些。
  • 当我使用真正的电脑(在我的手机上)时,我会尝试做出更好的答案

标签: hadoop hive hcatalog metastore


【解决方案1】:

您可能可以通过 HCatalog 获得所需的大部分信息,而无需直接访问元存储表。

HiveConf conf = new HiveConf(); // should pull hive-site.xml automatically
HiveMetaStoreClient hiveClient = new HiveMetaStoreClient(conf);
Table hiveTable = HCatUtil.getTable(hiveClient, "default", "sometable");

... = hiveTable.getAllIndexes(max);

【讨论】:

  • 感谢攀登。一些如何设法完成任务。这适用于 getPartCols、getAllCols。但是对于 getAllIndexes,即使 hive 表有索引,它也不会返回索引。我尝试通过将 max 设置为像这样的 -1、1、0、100 这样的组合。 getAllIndexes 函数中的这个最大参数到底是什么。我的意思是索引的数量?还是?
【解决方案2】:

是的,这就是 HCatalog 的全部内容:访问和操作元存储。见SHOW TABLES

【讨论】:

  • 嗨 Remus Rusanu,\n 我已经检查了 hcatalog“显示表格”命令。它仅显示配置单元表。不是像 TBLS 这样的配置单元元存储表。我用谷歌搜索了一下,才知道,hcatalog 可以像 hive 一样在 hive 元存储上工作。但它可能无法显示元存储表。如果您知道如何通过 hcatalog 访问 hive 元存储表(不是 hive 表)。
  • 对不起,误解了你的问题。您希望访问元存储表,而不是元存储中的表存储 d。我要问为什么?最初的问题是什么,为什么不能使用 HCatalog API 来操作内容,而不是潜入 Metastore 本身的内部工作?
  • 例如,如果您想列出与表关联的所有配置单元索引?没有元数据有可能吗?对于这种需求,我之前使用过 Metastore。现在我需要找出是否可以通过其他方式实现相同的目标?我的一个想法是,我可以从 Hcatalog 访问元存储表吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2013-12-28
  • 1970-01-01
  • 2011-01-23
  • 2017-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多