spark sql metastore 配置 mysql

本文主要介绍如何为 spark sql 的 metastore 配置成 mysql 。

 

spark 的版本 2.4.0 版本

hive script 版本为 hive 1.2.2 

mysql 为 5.7.18 

 

mysql 的安装部署就不在这里介绍了。

首先为 mysql 的root 用户设置密码

mysql -uroot
> set password= password('mysql');

 

设置mysql 允许其他机器登录

> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

 

创建一个新的database

> CREATE DATABASE metastore;

 

初始化创建hive 的metastore 表

> use metastore;
> source /opt/hive-1.2.2/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql;

初始化过程中,会报告一些错误,但是不影响后续的对接,错误信息如下

ERROR: 
Failed to open file 'hive-txn-schema-0.13.0.mysql.sql', error: 2

 

Oracle 官网下载 mysql 的jdbc 驱动,然后将 jdbc jar 包放到 ${SPARK_HOME}/jars 目录下。

 

配置 spark sql 的hive-site.xml 配置文件,新增以下内容

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://HOSTNAME/metastore</value>
  <description>the URL of the MySQL database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>DB_USER</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>DB_PASSWD</value>
</property>

<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>false</value>
</property>

<property>
  <name>datanucleus.fixedDatastore</name>
  <value>true</value>
</property>

HOSTNAME,填写mysql 的ip 地址或者hostname

DB_USER,填写mysql 的登陆用户名

DB_PASSWD,填写mysql 的登陆密码

 

 

然后直接启动 spark-sql 命令,执行 show tables 测试是否正常,不报错即为正常。

 

Cloudera 官网中,详细地介绍了如何为 hive metastore 配置 mysql, postgresql 和 oracle 数据库,具体地址为:

https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hive_metastore_configure.html

转载于:https://www.cnblogs.com/chenfool/p/10770197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值