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

news2024/11/24 8:41:21

需求:
  把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.coloradmin.cn/o/588345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot 如何处理分布式事务?

Spring Boot分布式事务处理 分布式事务是指跨多个数据库或服务的事务&#xff0c;它需要确保所有参与者都能以一致的方式处理事务。在微服务架构中&#xff0c;由于每个服务都有自己的数据库&#xff0c;因此实现分布式事务非常重要。在本文中&#xff0c;我们将介绍如何在Spr…

Three.js——七、Group层级模型

关于Group Group 层级模型 通过 THREE.Group 类创建一个组对象 group,然后通过 add 方法把网格模型 mesh1、mesh2 作为设置为组对象 group 的子对象&#xff0c;然后在通过执行 scene.add(group)把组对象 group 作为场景对象的 scene 的子对象。也就是说场景对象是 scene 是 …

计算机底层的密码读书笔记

线程池的理解协程的理解高并发服务器的考量内存管理函数调用与栈影响多线程性能的缓存问题 线程池的理解 重复创建和销毁线程会存在开销&#xff0c;线程过多会消耗大量内存&#xff0c;较多线程之间的切换也存在开销 线程池用来复用线程&#xff0c;控制线程数量 线程池中…

(二)K8S常见集群架构搭建

1.基于KubeAdm搭建多节点K8S集群 安装docker&#xff08;主节点工作节点&#xff09; # 1.安装 Docker CE 的依赖软件包&#xff1a; yum install -y yum-utils device-mapper-persistent-data lvm2# 2.设置阿里云镜像 sudo yum-config-manager --add-repo http://mirrors.al…

【C语言】【典例详解】【刷题】猜名次猜凶手【循环练习】

目录 猜名次问题 典例题目 题目分析&#xff1a; 代码实现&#xff1a; 运行结果&#xff1a; 猜凶手问题 典例题目 题目分析 代码实现&#xff1a; 运行结果&#xff1a; 猜名次问题 典例题目 猜名次&#xff1a; 5位运动员参加了10米台跳水比赛&#xff0c;有人让…

VM虚拟机配置

1、安装环境 1&#xff09;需要安装的软件 2&#xff09;安装vm 3&#xff09;安装centos系统 2、VM虚拟机NAT模式上网设置 1&#xff09;vm虚拟机设置 启动虚拟机选择【虚拟网络编辑器】 选择NAT模式&#xff0c;更改下面的子网IP&#xff0c;改成你需要的任何一个子网…

大数据:诞生大数据,概述、大数据软件生态,Apache Hadoop概述

大数据&#xff1a; 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sql要学&#x…

专业的 Code 128 条码标签如何创建?

Aspose.Words是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理&#xff0c;并…

Linux 系统的中断子系统基本框架(一)

中断是大家用的最多的功能&#xff0c;不管是单片机还是 Linux 系统&#xff0c;都需要用到中断&#xff0c;对它的深入理解是非常必要的。 为什么需要中断&#xff1f; 答案&#xff1a;处理器的速度比外设快很多&#xff0c;内核必须要处理其他任务&#xff0c;只有当外设准…

在centos上安装splint

lint lint是最著名的C语言工具之一&#xff0c;是由贝尔实验室SteveJohnson于1979在PCC(PortableC Compiler)基础上开发的静态代码分析&#xff0c;一般由UNIX系统提供。 工具介绍 与大多数C语言编译器相比&#xff0c;lint可以对程序进行更加广泛的错误分析&#xff0c;是一…

Day56【动态规划】583.两个字符串的删除操作、72.编辑距离

583.两个字符串的删除操作 力扣题目链接/文章讲解 视频讲解 1、确定 dp 数组下标及值含义 dp[i][j]&#xff1a;以下标 i 为结尾的字符串 word1&#xff0c;和以下标 j 为结尾的字符串 word2&#xff0c;想要达到相等&#xff0c;所需要删除元素的最少次数为 dp[i][j] 2、…

【1110. 删点成林】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给出二叉树的根节点 root&#xff0c;树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现&#xff0c;我们就把该节点从树上删去&#xff0c;最后得到一个森林&#xff08;一些不相交的…

LeetCode——可被三整除的偶数的平均值

#全国科技者工作日—为创新和未来而努力# 目录 1、题目 2、题目解读 3、代码 1、题目 2455. 可被三整除的偶数的平均值 - 力扣&#xff08;Leetcode&#xff09; 给你一个由正整数组成的整数数组 nums &#xff0c;返回其中可被 3 整除的所有偶数的平均值。 注意&#xff…

论文阅读:Directed Greybox Fuzzing

一、论文相关信息 二、现有研究的不足 现有的Greybox模糊器&#xff08;GF&#xff09;无法有效地定向到有问题的更改或补丁、关键系统调用或危险位置、或定向到我们希望重现的已报告漏洞的堆栈跟踪中的函数。 三、知识点 &#xff08;1&#xff09;introduction 定向模糊测试…

第二章(一):Django框架的模型(Model)

系列文章目录 备注&#xff1a;这里是Django系列文章的所有文章的目录 第一章(一) : Django框架如何创建项目、创建应用、创建templates&#xff1b;如何启动django项目&#xff1b; 第一章(二)&#xff1a;Django框架的模式、路由、视图&#xff1b; 第一章(三)&#xff1a;Dj…

learn C++ NO.7——C/C++内存管理

引言 现在是5月30日的正午&#xff0c;图书馆里空空的&#xff0c;也许是大家都在午休&#xff0c;也许是现在37摄氏度的气温。穿着球衣的我已经汗流浃背&#xff0c;今天热火战胜了凯尔特人&#xff0c;闯入决赛。以下克上的勇气也激励着我&#xff0c;在省内垫底的大学中&am…

JS的异或运算XOR

概念 异或&#xff08;xor&#xff09;是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”&#xff0c;计算机符号为“xor”。 两个值相同时&#xff0c;返回false&#xff0c;否则返回true。也就是说&#xff0c;XOR可以用来判断两个值是否不同。 JavaScript 语言…

企业级信息系统开发——Spring Boot加载自定义配置文件

文章目录 一、使用PropertySource加载自定义配置文件&#xff08;一&#xff09;创建Spring Boot Web项目ConfigDemo01&#xff08;二&#xff09;创建自定义配置文件&#xff08;三&#xff09;创建自定义配置类&#xff08;四&#xff09;编写测试方法&#xff08;五&#xf…

一键部署属于自己的ChatGPT-Next-Web

完整功能刚需&#xff1a; OpenAI 注册登录之后给的 api Key GitHub账号 Netlify账号 Tip&#xff1a; 注册 OepenAI账号 需要用国外手机号 这里建议去一些渠道购买账号 十块钱不到如果访问 OpenAI 的话 一定要挂欧美节点 否则禁止IP访问 概率会被封号为什么用 Netlify 托…

测试替身Test Doubles的5类型(Mockito)

测试替身Test Doubles的5类型(Mockito) 我们有一个名为 BankAccount 的类。 数据库用于存储和检索银行帐户信息。 我们想测试 BankAccount 中的逻辑&#xff0c;而不必担心它使用的底层数据库.由此类实现——它将 SQL 查询发送到数据库并返回其中包含的值。 测试替身Test Dou…