本文主要介绍如何为 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./scripts/metastore/upgrade/mysql/hive-schema-1.2..mysql.sql;

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

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

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

spark sql metastore 配置 mysql的更多相关文章

  1. Spark SQL metaData配置到Mysql

    构造以spark为核心的数据仓库: 0.说明     在大数据领域,hive作为老牌的数据仓库比较流行,spark可以考虑兼容hive.但是如果不想用hive做数据仓库也无妨,大不了我们用spark建 ...

  2. [Spark SQL_1] Spark SQL 配置

    0. 说明 Spark SQL 的配置基于 Spark 集群搭建  && Hive 的安装&配置 1. 简介 Spark SQL 是构建在 Spark Core 模块之上的四大 ...

  3. Spark SQL笔记——技术点汇总

    目录 概述 原理 组成 执行流程 性能 API 应用程序模板 通用读写方法 RDD转为DataFrame Parquet文件数据源 JSON文件数据源 Hive数据源 数据库JDBC数据源 DataF ...

  4. 安装ejabberd2并配置MySQL为其数据库

    以前用过openfire做为服务器,但是openfire的集群支持不是很好,所以改用Ejabberd,由于它是用Erlang语言开发的,其并发率与分布式的功能都是很强悍的,在此我记录一下我的安装与配置 ...

  5. Spark SQL读取hive数据时报找不到mysql驱动

    Exception: Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BoneC ...

  6. spark2.3.0 配置spark sql 操作hive

    spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然后在spark引擎中进行sql统计分析,从而,通过spark sql与hive结合实现数据分析将成为一种最佳实践.配置步骤 ...

  7. Spark SQL慕课网日志分析(1)--系列软件(单机)安装配置使用

    来源: 慕课网 Spark SQL慕课网日志分析_大数据实战 目标: spark系列软件的伪分布式的安装.配置.编译 spark的使用 系统: mac 10.13.3 /ubuntu 16.06,两个 ...

  8. spark sql 的metastore 对接 postgresql

    本教程记录 spark 1.3.1 版本的thriftserver 的metastore 对接 postgresql postgresql 的编译,参考:http://www.cnblogs.com/ ...

  9. Spark SQL Thrift Server 配置 Kerberos身份认证和权限管理

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 之前的博客介绍了通过Kerberos + Sentry的方式实现了hive server2的身份认证和权限管理功能,本文主 ...

随机推荐

  1. OpenCV——径向模糊

    参考来源: 学习OpenCV:滤镜系列(5)--径向模糊:缩放&旋转 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #defi ...

  2. 20179203 《Linux内核原理与分析》第十周作业

    第17章 设备与模块 一.设备类型 1. Linux及Unix系统: 块设备 字符设备 网络设备 2.块设备: 通常缩写为blkdev,它是可寻址的,寻址以块为单位,块大小随设备不同而不同:块设备通常 ...

  3. Mysql 排序null值 排序问题分析

    mysql中null值的排序问题分析   如下表t_user:  name age zhangsan 1 lisi NULL wangwu 2   www.2cto.com   执行一下sql:  S ...

  4. bzoj 4261: 建设游乐场 费用流

    题目 现在有一大块土地,可以看成N*M的方格.在这块土地上,有些格子内是崎岖的山地,无法建造任何东西:其他格子都是平原.现在打算在这块土地上建设一个游乐园.游乐园由若干条闭合的过山车轨道组成,每个平原 ...

  5. Operating System-Thread(4) 线程的调度激活机制(Scheduler Activations)

    本文主要介绍线程的调度激活机制(Scheduler Activations),主要内容: 调度激活机制简介 上行调用(upcall) 中断处理(Interrupt) 一. 调度激活机制简介 上一篇文章 ...

  6. Centos6.5命令行快捷键

    ctrl+a打开一个新的终端 ctrl+l 清除屏幕内容 ctrl+a 切换到命令行开始ctrl+e 切换到命令行末尾ctrl+u 剪切光标之前的内容ctrl+k 剪切光标之后的内容 Ctrl+-&g ...

  7. JS---改变图片大小

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. ASP.NET MVC 3:缓存功能的设计问题

    今天这一篇文章我来谈一谈在MVC 3项目中的缓存功能,以及针对缓存的一些设计上的考量,给大家参考参考. 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例 ...

  9. Python-编写一个mysql注入漏洞检测工具

    判断mysql网站是否存在注入漏洞的几个方法: 注入点后加上一个单引号会报错 and 1=1返回正常页面,and 1=2返回的页面不同于正常页面 and sleep(3) 网页会等待3秒左右 根据返回 ...

  10. React 特别需要注意的地方

    如图: