hive 操作(二)——使用 mysql 作为 hive 的metastore

Hive 基础及安装
Hive 操作(一)
hive 操作(二)——使用 mysql 作为 hive 的metastore
hive 操作(三)——hive 的数据模型
hive 操作(四)

hive 默认使用 derby 作为映射表(SQL 操作映射为MapReduce Job,将SQL中创建的表映射为 hdfs 的文件/文件夹,字段映射为其中的行),但 derby 的一大缺陷在于它不允许多个客户端同时执行sql操作(可能新版本的hive会有所升级)。

我们又知hive的metastore,除了derby,还可存放于 mysql 中;

CentOS mysql 的安装 一文,我们介绍了 CentOS 中 mysql 的安装。

使用 mysql 作为 hive 的metastore

使用 hive 连接 mysql 其实意味着使用 JDBC 来连接,不妨再来看一下,hive的体系结构(hive 在hadoop的基础上,既提供了命令行的接口,输入hive进入,也提供了JDBC/ODBC的连接接口,当然还有一套Web GUI):


这里写图片描述

  • (1)把 mysql 的 jdbc 驱动(mysql-connector-java-5.1.10.jar)放置到 hive 的 lib 目录下;

  • (2)修改$HIVE_HOME/conf下的 hive-site.xml(由mv hive-default.xml.template hive-site.xml而来)

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop0:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
                                # 如果数据库不存在的话
                                # 创建数据库名为hive的数据库
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
                                # 设置驱动
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
                                # 用户名
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>admin</value>
    </property>
                                # 登录密码
  • (3)远程登录(使用Navicat for Mysql)登录此节点上的mysql(主机名hadoop0,用户名root,密码admin,如前所设),会在Navicat 中发现创建的数据库hive,其内的表DBS的 DB_LOCATION_URI(也即指向的路径),为hdfs://hadoop0:9000/hive(此路径由hive-site.xml中的hive.metastore.warehouse.dir所决定)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值