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

一、引言

  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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。