首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Hive本身中公开Hive元数据

问在Hive本身中公开Hive元数据
EN

Stack Overflow用户
提问于 2018-04-13 02:38:06
回答 2查看 94关注 0票数 0

我在某种程度上预料到了这一点,但显然不是。Hive不会在其环境中公开自己的元数据。例如,与Oracle一样,它允许您对自己创建的表使用"user_tables“。

我理解并欣赏hive元数据存储在RDBMS外部的事实,但作为构建不同类型查询的用户,访问我所在环境的上下文元数据是很有用的。

既然HCatalog将元数据暴露给任何愿意的人,为什么hive引擎不能拾取相同的元数据并允许其可见!

我知道在实现这一点的过程中可能会遇到一些挑战,但我想问的是,“是否有任何活动的工作流来实现类似的事情?”

作为一个用户,我确实需要它。

EN

回答 2

Stack Overflow用户

发布于 2020-12-24 22:13:22

hive版本3.0.0在Hive中引入了information_schema数据库本身。在那里我们可以探索基本的蜂窝元数据。此外,还有另一个名为sys的数据库,其中包含所有与元数据相关的信息。

你可以参考下面的链接。

https://issues.apache.org/jira/browse/HIVE-1010

票数 1
EN

Stack Overflow用户

发布于 2018-04-13 03:16:21

你写道:“我理解并欣赏hive元数据存储在RDBMS外部的事实”。然后尝试JDBC存储处理程序:https://github.com/qubole/Hive-JDBC-Storage-Handler

您可以像本例中那样在Hive中创建表,并像查询任何其他原生Hive表一样对其进行查询:

代码语言:javascript
复制
DROP TABLE HiveTable;
CREATE EXTERNAL TABLE HiveTable(
  id INT,
  id_double DOUBLE,
  names STRING,
  test INT
)
STORED BY 'org.apache.hadoop.hive.jdbc.storagehandler.JdbcStorageHandler'
TBLPROPERTIES (
  "mapred.jdbc.driver.class"="com.mysql.jdbc.Driver",
  "mapred.jdbc.url"="jdbc:mysql://localhost:3306/rstore",
  "mapred.jdbc.username"="root",
  "mapred.jdbc.input.table.name"="JDBCTable",
  "mapred.jdbc.output.table.name"="JDBCTable",
  "mapred.jdbc.password"="",
  "mapred.jdbc.hive.lazy.split"= "false"
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49803758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档