@
实际数据的存储
Hive要分析的数据是存储在HDFS上
hive中的库的位置,在hdfs上就是一个目录!
hive中的表的位置,在hdfs上也是一个目录,在所在的库目录下创建了一个子目录!
hive中的数据,是存在在表目录中的文件!
分隔符
表在创建时,有分隔符属性,这个分隔符属性,代表在执行MR程序时,使用哪个分隔符去分割每行中的字段!
查看表(实际在HDFS中也是一个文件)中的所有内容(包括分隔符):
cat -T 文件名

也可以在创建表的同时, 声明文件分隔符为\t,比如
create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED
BY '\t';
==hive中默认字段的分隔符: ctrl+A。进入编辑模式,ctrl+V 再ctrl+A ==
元数据的存储
hive中的元数据(schema)存储在关系型数据库默认存储在derby中
derby是使用Java语言编写的一个微型,常用于内嵌在Java中的数据库!
derby同一个数据库的实例文件不支持多个客户端同时访问!
当你在某个目录下启动Hive时,就会在当前目录下生成一个这样的文件,用来存放元数据。你退出之后换个目录启动Hive,就找不到建立的库和表了,必须回到原目录启动。所以不建议使用derby。

建议将hive的元数据存储在Mysql中
Mysql支持多用户同时访问一个库的信息!
注意事项:
①metastore库的字符集必须是latin1
②5.5mysql,改 binlog_format=mixed | row默认为statement
mysql的配置文件: /etc/my.cnf
安装MySQL
先检查是否安装过MySQL,如果是在centos7下,默认安装了MariaDB,也需要卸载。
查看安装的MySQL和MariaDB列表:
rpm -qa | grep mysql
rpm -qa | grep MySQL
rpm -qa | grep mariadb
如果有安装过,比如:


卸载:
sudo rpm -e --nodeps mysql-libs-5.1.73-7.e16.×86_64
sudo rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
注意,需要删除/var/lib/mysql目录!
重点来了,安装mysql

由于是zip包,要用unzip命令解压
unzip mysql-libs.zip -d /op/module/
解压后:

在centos7下,可能安装失败,需要事先安装autoconf库
sudo yum -y install autoconf
然后安装服务端和客户端
sudo rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
sudo rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
最后出现这些信息,则表示安装成功!

需要注意这一段话

为root用户生成了一个随机密码,保存在/root/.mysql_secret文件中,需要自己去查看。
sudo cat /root/.mysql_secret

启动MySQL
sudo service mysql start
然后登陆进去:
mysql -uroot -pur2QYhY70kZECdC9
第一次登陆,只能先改密码,不能查看数据库

修改密码,要使用password()函数加密!
SET PASSWORD=password('12456');
查看有哪些用户,刚才改密码的用户只是Localhost

把除了localhost的用户都删掉
drop user root@'hadoop102';
drop user root@'127.0.0.1';
drop user root@'::1';

把host改成%。这样方便使用主机名登陆,也可以在windows上使用sqlyog等可视化工具登陆
update user set host='%' where user='root';

然后重启MySQL,使用主机名登陆
sudo service mysql restart

使用navicat连接

本文分享 CNBlog - Sun's Blog-专注于阅读。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
本文介绍了Hive数据在HDFS上的存储结构和分隔符设定,强调了Hive元数据默认存储在Derby中的不足,并推荐将元数据存储在MySQL中以支持多用户访问。详细讲述了在CentOS7上卸载MariaDB,安装MySQL,配置MySQL以适应Hive metastore,以及如何修改MySQL的用户权限和启动服务。

2997

被折叠的 条评论
为什么被折叠?



