Mengekspos Metadata Hive di Hive itu sendiri

Saya kira hal ini akan terjadi, namun ternyata tidak. Hive tidak memaparkan metadatanya sendiri dalam lingkungannya. Misalnya, seperti yang dilakukan Oracle, ini memungkinkan Anda menggunakan "user_tables" untuk tabel yang Anda buat.

Saya memahami dan menghargai kenyataan bahwa metadata sarang disimpan secara eksternal di RDBMS, tetapi sebagai pengguna yang membuat berbagai jenis kueri, akan berguna untuk memiliki akses ke metadata kontekstual dari lingkungan tempat saya bekerja.

Karena HCatalog memaparkan metadata kepada siapa pun yang mau, mengapa mesin sarang tidak dapat mengambil metadata yang sama dan membiarkannya terlihat!

Saya tahu beberapa tantangan yang mungkin dihadapi dalam menerapkan hal ini, namun yang saya tanyakan adalah, "apakah ada alur kerja yang aktif untuk mencapai hal serupa?"

Sebagai pengguna, saya memang membutuhkannya.


person Raghav    schedule 12.04.2018    source sumber


Jawaban (2)


Hive Versi 3.0.0 memperkenalkan database information_schema itu sendiri di Hive. Di mana kita dapat menjelajahi metadata dasar Hive. Selain itu ada database lain yang disebut sys dan memiliki semua informasi terkait metadata.

Anda dapat merujuk tautan berikut untuk ini.

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

person Pash0002    schedule 24.12.2020

Anda menulis: "Saya memahami dan menghargai kenyataan bahwa metadata sarang disimpan secara eksternal di RDBMS". Kemudian coba pengendali penyimpanan JDBC: https://github.com/qubole/Hive-JDBC-Storage-Handler

Anda dapat membuat tabel di Hive seperti dalam contoh ini dan menanyakannya seperti tabel Hive asli lainnya:

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