Предоставление метаданных Hive в самом Hive

Я как бы ожидал, что это будет там на месте, но очевидно нет. Hive не предоставляет свои собственные метаданные в своей среде. Например, как и Oracle, он позволяет вам использовать «user_tables» для созданных вами таблиц.

Я понимаю и ценю тот факт, что метаданные куста хранятся снаружи в СУБД, но пользователю, создающему различные виды запросов, полезно иметь доступ к контекстуальным метаданным среды, в которой я работаю.

Поскольку HCatalog предоставляет метаданные любому желающему, почему движок Hive не может подобрать то же самое и сделать его видимым!

Я знаю некоторые проблемы, которые могут возникнуть на пути к реализации этого, но я спрашиваю: «Есть ли активный рабочий поток для достижения чего-то подобного?»

Мне, как пользователю, это нужно.


person Raghav    schedule 12.04.2018    source источник


Ответы (2)


Версия Hive 3.0.0 представила саму базу данных information_schema в hive. Где мы можем изучить основные метаданные Hive. Также есть другая база данных под названием sys, в которой есть вся информация, связанная с метаданными.

Для этого вы можете обратиться по следующей ссылке.

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

person Pash0002    schedule 24.12.2020

Вы написали: «Я понимаю и ценю тот факт, что метаданные улья хранятся во внешней СУБД». Затем попробуйте обработчик хранилища 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"
);
person leftjoin    schedule 12.04.2018