一、概述

hive可以管理hdfs上的文件,用表的形式来管理文件数据。而表名、表里有哪些字段,字段类型、哪张表存在哪个数据下等这些表信息,称之为hive的元数据信息

默认情况下,hive的元数据信息不是存在hdfs上的,而是存在hive自带的derby关系型数据库里的

Hive安装完成之后,通常都需要替换元数据库,目前Hive只支持derby和mysql两种元数据库,需要将元数据库替换为MySQL

元数据的默认字符集是ISO8859-1

二、derby存在的问题

derby数据库是一种文件型的数据库,在进入时会检查当前目录下是否有metastore_db文件夹用来存储数据库数据,如果有就直接使用,如果没有就创建,这样一旦换一个目录,元数据就找不到了

derby数据库是一个单用户的数据库,无法支持多用户同时操作,而hive如果使用derby作为元数据库,则也只能支持单用户操作,这就导致在数据量大连接多的情况下会产生大量连接的积压

替换为MySQL

所以每次在不同的目录启动hive都会生成不同的derby数据文件,所以很麻烦,不如直接替换成MySQL使用

不同的目录指的是在当前目录通过路径的方式启动hive 例如在home目录下 sh /home/software/hive-1.2.2/bin/hive,就会在home目录下生成metastore_db文件

1. 将mysql驱动包上传到hive安装目录的lib目录下

下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/

cp mysql-connector-java-5.1.38.jar /home/software/hive-1.2.2/lib/

2. 进入conf目录下,编辑新的配置文件,名字为:hive-site.xml

vim hive-site.xml

3. 配置相关信息:

数据库的连接信息,按照自己的数据库填写既可

javax.jdo.option.ConnectionURLname>

jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=truevalue>

property>

javax.jdo.option.ConnectionDriverNamename>

com.mysql.jdbc.Drivervalue>

property>

javax.jdo.option.ConnectionUserNamename>

rootvalue>

property>

javax.jdo.option.ConnectionPasswordname>

rootvalue>

property>

configuration>

4. 进入hive ,进入bin目录,执行:sh hive

如果出现:Access denied for user ‘root’@‘hadoop01’ (using password: YES)这个错误,指的是当前用户操作mysql数据库的权限不够

5. 使用连接工具到mysql数据库,进行权限分配

grant all privileges on *.* to 'root'@'hadoop01' identified by 'root' with grant option;

grant all on *.* to 'root'@'%' identified by 'root';

flush privileges;

6. 进入mysql数据库,执行:create database hive character set latin1;

7. 启动hive客户端

sh hive

8. 以上步骤都做完后,再次进入mysql的hive数据,发现有如下的表:

9. 可以通过DBS 、TBLS、COLUMNS_V2、SDS这几张表来查看元数据信息

用hive创建一个表

create table stu(id int,name varchar(50));

a. DBS 存放的数据库的元数据信息

b. TBLS存放的tables表信息

c. COLUMNS表存放的是列字段信息3

d. SDS表存放的HDFS里的位置信息

hive mysql derby_Hive修改derby为mysql数据库相关推荐

  1. mysql怎么修改密码,mysql修改密码的几种方法

    方法一:通过mysql控制台直接设置密码 第一步我们打开mysql console,输入mysql原先密码,按回车键进去,这里原密码为空,如下图所示: 第二步输入"set password ...

  2. mysql innodbuffer修改_【MySQL参数】-innodb_buffer_pool_chunk_size

    如果 初始化缓冲池时 innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances大于当前缓冲池大小, innodb_buffer_pool_ ...

  3. java连接mysql时区修改_java连接mysql数据库时的时区设置问题(time_zone)

    java在连接mysql数据库时,会由于时区设置不正确导致报以下的错误: The server time zone value '???ú±ê×??±??' is unrecognized or re ...

  4. mysql工资修改为空_mysql数据库技术1——基本的增删查改的sql语句

    1.数据库语言的分类 DDL:数据库定义语言 data Definition language 用于创建.修改.和删除数据库内的数据结构,如: 1:创建和删除数据库(CREATE DATABASE | ...

  5. mysql建立修改表存储过程_MySQL数据库创建、表的创建、存储过程、触发器

    一.基本内容 (1) 使用SQL语句创建数据库: (2) 为数据库分配管理权限: (3) 定义表和数据库的完整性,student(学生表),course(课程表)和 sc(学生选课表), 并设置各个表 ...

  6. linux mysql配置修改_【Mysql】linux下mysql的配置修改

    1.mysql启动和停止等操作 # /etc/init.d/mysqld start:# service mysqld start:#service mysqld stop :#/etc/init.d ...

  7. mysql world.sql.zip_安装mysql数据库zip版|mysqlzip

    在刚开始接触 mysql的时候,安装都费了好大劲,网上好多教程可能因为版本不同没办法完全对应上,东拼西凑的各种紊乱,怕以后再次需要安装的时候忘了,现在整理如下: (至于为啥是zip版,msi的步骤都感 ...

  8. yum mysql 启动失败_Linux下MySQL数据库yum升级后无法启动解决办法 | 系统运维

    说明: 操作系统:CentOS 5.8 Web运行环境:Apache+MySQL+PHP(全部使用yum命令在线安装) Apache版本:2.2.3 MySQL版本:5.0.95 PHP版本:5.1. ...

  9. linux(ARM架构)下的mysql安装、QT连接mysql数据库(完整版)

    一.安装MYSQL之前要先换源 二.安装MYSQL 1.安装 2.安装完成 3.安装后无法登陆 3.1 原因 3.2 登陆后切换database 3.3 修改密码(注意这里账号和密码是双引号) 3.4 ...

最新文章

  1. 单片机I/O控制方式(UART中断和DMA中断的区别)
  2. 使用Mpvue 使用 scroll-view 记录以及 页面设置弹窗后 页面滚动问题
  3. axure弹窗关闭_干货来袭,Axure插入图标的几种办法
  4. Windows Phone 7开发一月谈(3)
  5. ASP.NET在类中引用Application和Server.MapPath
  6. 《IT项目管理那些事儿》——CSDN蒋涛序
  7. 蓝桥杯 ADV-155 算法提高 上帝造题五分钟
  8. 获取MOSS页面中控件使用的样式(转)
  9. pass 软件_杀毒软件哪家强?今天来聊聊关于保护你电脑的杀毒软件那些事!
  10. 根据两点坐标计算两点距离
  11. 《JAVA: 学习导图》
  12. 关于编码问题的复制黏贴
  13. Synthesys:语音合成和视频生成平台
  14. HTML+css+javascript面试题
  15. Hexo Next主题添加百度统计
  16. 05.位图和比较器的简单应用
  17. linux查看端口pvid,关于PVID的几个疑问
  18. PS制作CSS精灵图
  19. activiti7没有自动生成表
  20. ThinkPHP框架安装介绍

热门文章

  1. 搭建直播平台过程中Android端直播APP源码是如何实现连麦功能的?
  2. PDF,png,jpg,bmp转换为word
  3. 【TaaS】什么是测试即服务?
  4. 【已解决】moviepy视频剪辑TypeError: must be real number, not NoneType问题
  5. roy fielding_Hanselminutes播客169-Roy Osherove进行单元测试的技巧
  6. 如何下载矢量建筑楼块轮廊数据(含建筑高度)
  7. 【转】用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
  8. 四十三.调试会员等级接口
  9. 四川一度智信:2021网店推广技巧分享
  10. 铁乐学python_day03-作业