【大数据之Hive】四、配置Hive元数据存储到MySQL

news/2024/10/18 19:22:08/

需求:
  把Hive元数据写道MySQL的metastore数据库中(MySQL默认没有metastore数据库,需要提前创建:create database metastore;)
  连接地址:jdbc:mysql//hadoop102:3306/metastore
  驱动:com.mysql.cj.jdbc.Driver
  用户名:root
  密码:123456

1 配置元数据到MySQL

(1)新建元数据库:

#登录到MySQL
mysql -u root -p123456#创建元数据库
mysql>create database metastore;
mysql>quit;

(2)把MySQL的JDBC驱动拷贝到Hive的lib目录下(此处用的是MySQL8.0.33的驱动):

cd /opt/software/mysql-connector-j-8.0.33.jar /opt/module/hive/lib

(3)在$HIVE_HOME/conf下创建hive-site.xml文件:

vim hive-site.xml#添加以下内容:
<?xml version="1.0"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?><configuration><!-- jdbc连接的URL--><!--主机名:端口号/数据库名 --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value></property><!-- jdbc连接的Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><!--jdbc连接的username--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!-- jdbc连接的password --><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value></property><!-- Hive默认在HDFS的工作目录--><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property>
</configuration>

(4)初始化hive元数据库,改为用MySQL存储:

bin/schematool -dbType mysql -initSchema -verbose

2 验证元数据是否配置成功

(1)启动hive:

bin/hive

(2)使用hive:

hive> show databases;
hive> show tables;
hive> create table stu(id int, namestring);
hive> insert into stuvalues(1,"liao");
hive> select * from stu;

在这里插入图片描述
在这里插入图片描述
(3)在另外一个窗口开启hive,可以看到两个窗口都可以操作hive,没有异常:

hive>show databases;
hive>show tables;
hive>select * from stu;

3 查看MySQL中的元数据

(1)登录MySQL:

mysql -u root -p123456

(2)查看元数据库metastore:

mysql> show databases;
mysql> use metastore;
mysql> show tables;

在这里插入图片描述
(i)查看元数据中存储的库信息,hive中默认有default数据库:

mysql>select * from DBS;

在这里插入图片描述
(ii)查看元数据中存储的表信息,TBLS中保存了在hive中创建所有表的信息,创建的表的根目录等信息保存在SDS表中:

mysql>select * from TBLS;

在这里插入图片描述
(iii)查看元数据中存储的列相关信息,保存创建表的字段的信息:

mysql>select * from COLUMNS_V2;

在这里插入图片描述


http://www.ppmy.cn/news/107208.html

相关文章

oracle数据库参数为空时 inter=0 和 like ‘ %‘区别

目录 一&#xff0c;oracle数据库 like语法和原理 二&#xff0c;oracle数据库instr函数语法和原理 三&#xff0c;问题&#xff1a;把like换成了instr&#xff0c;查询不到数据 1&#xff0c;like ‘ %’ 的含义 2&#xff0c;JdbcTemplate.queryForList 一&#xff0c;o…

如何获取ios打包证书

要获取ios证书&#xff0c;需要去苹果开发者中心注册苹果开发者账号&#xff0c;百度苹果开发者中心即可进入苹果开发者中心官网。 假如你还从来没注册过苹果开发者&#xff0c;你可以参考下面这篇文章先注册成为苹果开发者&#xff0c;必须要有苹果开发者账号才能生成ios打包…

TLS协议在ISO13400-2-2019文档中的内容解析

我很久之前写过解读ISO13400文档的系列文章:《详解ISO 13400文档(DoIP协议)》。当时没有说明解读的是哪一版13400,现在回过头看,应该是ISO13400-2-2012版本。那一版里没有TLS协议的相关内容,所以写的文章中也没有体现。 而2019版相比2012版,有两个方面的变化: 增加TLS…

Unreal Niagara粒子入门3 - 根据模型顶点发射粒子

在一些游戏中经常会出现根据模型顶点位置发射粒子的情况&#xff0c;这次就来实现一下该效果&#xff1a; 1.基础创建操作 首先从空粒子发射器开始创建&#xff0c;右键NiagaraSystem->Create empty system&#xff0c;打开粒子系统后再右键Add empty emitter&#xff1a…

获取图片中的颜色动态设置背景色(colorThief)

首先看对比图 上述的三张图分别是鼠标移入某个图片后根据获取的图片的原色动态设置的容器渐变背景 那么想要实现这个效果&#xff0c;我们必须先搞定一件事。鼠标移入某个图片获取当前图片的原色 主角上场&#xff1a;colorThief colorThief 具体怎么操作呢 &#xff1a; …

开源版社区团购系统源码 含小程序完整前后端+搭建教程+私有化部署

分享一个社区团购系统源码&#xff0c;源码开源可自由二开&#xff0c;含小程序完整前后端和详细的搭建教程&#xff0c;可私有化部署终身使用&#xff0c;功能界面diy团长供应商拼团秒杀优惠券菜谱积分群接龙充值预售配送等功能。 系统功能一览&#xff1a; 1、商品&#xf…

2023年测试前景?测试开发工程师养成记,开发企业级测试平台...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 测试开发&#xff…

如何修复缺失的mfplat.dll文件,多种修复mfplat.dl分享

当你在使用电脑时&#xff0c;突然遇到了缺失了mfplat.dll的错误提示&#xff0c;你可能会感到非常烦恼。不要担心&#xff0c;这是一个常见的问题。在本文中&#xff0c;我们将指导你如何修复缺失的mfplat.dll文件。 一.什么是mfplat.dll MFPLAT.DLL是Microsoft Windows操作系…