您现在的位置是:首页 > 文章详情

大数据工具篇之Hive与MySQL整合完整教程

日期:2014-01-09点击:680

一、引言

Hive元数据存储可以放到RDBMS数据库中,本文以Hive与MySQL数据库的整合为目标,详细说明Hive与MySQL的整合方法。

二、安装驱动

MySQL最新的Java驱动版本为:mysql-connector-java-5.1.28-bin.jar,下载后拷贝到:Hive/Lib目录。

三、安装MySQL

3.1 版本

RHEL5+mysql-5.5.35-1.i386.rpm

3.2 顺序

MySQL-shared-compat-5.5.35-1.rhel15.i386.rpm

      MySQL-server-5.5.35-1.rhel5.i386.rpm

      MySQL-client-5.5.35-1.rhel5.i386.rpm

四、配置文件

修改Hive配置文件Hive-site.xml,修改后的结果如下所示:

 1 <property>  2 <name>javax.jdo.option.ConnectionURL</name>  3 <value>jdbc:mysql://localhost:3306/hivedb?characterEncoding=UTF-8</value>  4 <description>JDBC connect string for a JDBC metastore</description>  5 </property>  6  7 <property>  8 <name>javax.jdo.option.ConnectionDriverName</name>  9 <value>com.mysql.jdbc.Driver</value> 10 <description>Driver class name for a JDBC metastore</description> 11 </property> 12 13 <property> 14 <name>javax.jdo.PersistenceManagerFactoryClass</name> 15 <value>org.datanucleus.jdo.JDOPersistenceManagerFactory</value> 16 <description>class implementing the jdo persistence</description> 17 </property> 18 19 <property> 20 <name>javax.jdo.option.DetachAllOnCommit</name> 21 <value>true</value> 22 <description>detaches all objects from session so that they can be used after transaction is committed</description> 23 </property> 24 25 <property> 26 <name>javax.jdo.option.NonTransactionalRead</name> 27 <value>true</value> 28 <description>reads outside of transactions</description> 29 </property> 30 31 <property> 32 <name>javax.jdo.option.ConnectionUserName</name> 33 <value>root</value> 34 <description>username to use against metastore database</description> 35 </property> 36 37 <property> 38 <name>javax.jdo.option.ConnectionPassword</name> 39 <value>root</value> 40 <description>password to use against metastore database</description> 41 </property>

五、结果展示

安装完成以后,通过访问mysql客户端,可以用来验证是否安装成功。注意与普通关系型数据创建表格后的区别。

mysql>show tables;

 1 +----------------+  2 | Tables_in_hive |  3 +----------------+  4 | BUCKETING_COLS |  5 | COLUMNS |  6 | DBS |  7 | PARTITION_KEYS |  8 | SDS |  9 | SD_PARAMS | 10 | SEQUENCE_TABLE | 11 | SERDES | 12 | SERDE_PARAMS | 13 | SORT_COLS | 14 | TABLE_PARAMS | 15 | TBLS | 16 +----------------+

六、注意事项

曾经有人单独找我咨询过这个问题:为何无法在Hive中指定使用哪个MySQL数据库?这里面有一个需要说明的地方是Hive的数据库的概念不同于RDBMS数据库,MySQL数据库的指定是基于配置文件的,但是Hive的数据库只是一个命名空间号,类似分组的概念。hive中的数据库可以在使用MySQL数据库中,通过Select * from DBS查看到。

 


作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文链接:https://yq.aliyun.com/articles/438571
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章