使用MySQL作为Metastore从HIVE查询元数据 [英] Query metadata from HIVE using MySQL as metastore
问题描述
我配置了一个MySQL Metastore,但有必要通过HIVE命令查询元数据,因为那时我想通过ODBC连接到HIVE系统来访问数据。
感谢高级。
您目前可以使用Hive JDBC StorageHandler来执行此操作: https://github.com/qubole/Hive-JDBC-Storage-Handler
从其页面创建表的示例:
CREATE EXTERNAL TABLE HiveTable(
id INT,
id_double DOUBLE,
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
);
我测试过,它在MySQL中可以正常工作。而FilterPushDown也可以。
I am looking for a way to query the metadata of my HIVE data with a HiveQL command.
I configured a MySQL metastore, but it is necessary to query the metadata via HIVE command because then I want to access the data with ODBC connection to the HIVE system.
Thanks in advanced.
You can do it currently using Hive JDBC StorageHandler: https://github.com/qubole/Hive-JDBC-Storage-Handler
Example of table creation from their page:
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"
);
I tested, it works fine with MySQL. And FilterPushDown also works.
这篇关于使用MySQL作为Metastore从HIVE查询元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!