数据库与数据仓库
数据库
mysql,oracle,sqlserver,DB2,sqlite,MDB
数据仓库
hive
是MR的客户端,不必要每台机器都安装部署
特性
1、hive操作接口是采用SQL语法的,HQL
2、避免了写MapReduce的繁琐过程
体系结构
1、client
终端命令行
JDBC,不常用,很麻烦
2、matastore
原本的数据集和字段名称以及数据信息之间的双射关系
我们目前是存在mysql中
3、serverce---hadoop
在操作hive之前,需要将hadoop的HDFS开启,YARN开启,MAPRED配置好
mysql----metastore----双射,唯一映射
hive把拿到的数据通过SQL语句,转化为MR代码
1、解压hive到安装目录
2、重命名配置文件
3、hive-env.sh
4、安装mysql
1)yum -y install mysql mysql-server mysql-devel
2)wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
3)rpm -ivh mysql-community-release-el7-5.noarch.rpm
4)yum -y install mysql-community-server
ps:如果使用离线绿色版本(免安装版本)需要手动初始化mysql数据库
5、配置mysql
1)开启mysql服务systemctl start mysqld.service
2)设置root用户密码#mysqladmin -uroot password '123456'
3)为用户以及其它机器节点授权#grant all *.* to root@'hadoop001' identified by '123456';
grant:授权
all:所有权限
*.*:数据库名称.表名称
root:操作mysql的用户
@'':主机名
密码:123456
4)hive-site.xml
(1)
(2)
(3)
(4)
5)hive-log4j.properties
hive.log.dir=/opt/module/hive/logs
6)拷贝mysql-connector-java.jar驱动包到hive的lib目录下
6、启动hive
bin/hive
7、修改HDFS系统中关于hive的一些目录权限
/opt/module/hadoop/bin/hadoop fs -chmod 777 /tmp/
/opt/module/hadoop/bin/hadoop fs -chmod 777 /user/hive/warehouse
8、显示数据库名称以及字段名称
是否在当前客户端中显示查询出来的数据的字段的名称hive.cli.print.header
true
是否在当前客户端中显示当前数据库名称hive.cli.print.current.db
true
1、创建数据库和表操作
创建数据库
hive> create database staff;
创建表
hive> create table t1(eid int, name string, sex string) row format delimited fields terminated by '\t';
2、导入数据
从本地导入
load data local inpath '文件路径' into table;
select * from table
select name from table
从HDFS系统导入