我有点期待它在那里,但显然不是。 Hive不会在其环境中公开自己的元数据。例如,像Oracle一样,它允许您对您创建的表使用“user_tables”。
我理解并感谢hive元数据存储在RDBMS的外部,但作为构建不同类型查询的用户,访问我正在使用的环境的上下文元数据非常有用。
由于HCatalog将元数据暴露给任何愿意的人,为什么不能使用hive引擎来获取相同的内容并让它可见!
我知道实现这一目标可能带来的一些挑战,但我要问的是,“是否有任何工作流可以实现与此类似的工作?”
作为用户,我确实需要它。
答案 0 :(得分:1)
Hive Version 3.0.0 在 hive 中引入了 information_schema 数据库本身。我们可以在哪里探索基本的 Hive 元数据。此外还有另一个名为 sys 的数据库,它包含所有与元数据相关的信息。
您可以参考以下链接。
答案 1 :(得分:0)
你写道:"我理解并理解hive元数据存储在RDBMS外部的事实"。然后尝试JDBC存储处理程序:https://github.com/qubole/Hive-JDBC-Storage-Handler
您可以像在此示例中一样在Hive中创建表,并像任何其他本机Hive表一样查询它:
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"
);