使用MySQL作为Metastore从HIVE查询元数据 [英] Query metadata from HIVE using MySQL as metastore

查看:1216
本文介绍了使用MySQL作为Metastore从HIVE查询元数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种方法来用HiveQL命令查询HIVE数据的元数据。

我配置了一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆