无hive:使用者…->mapreduce…->hadoop数据(可能需要会mapreduce)
有hive:使用者…->HQL(SQL)->hive…->mapreduce…->hadoop数据(只需要会SQL语句)
1. 初识hive
- hive时构建在hadoop上的数据仓库平台。
- hive与hbase的关系:
- hive是基于hadoop的数据仓库工具,是简化编写MapReduce程序而生。十分适合数据仓库的统计分析。
- hbase是一个分布式的、面向列的开源数据库。他是一个适合于非结构化数据存储的数据库。
- hive集群可以和hbase集群连接。
2.验证
[hadoop@hadoop1 hadoop-current]$ hive --version
Hive 2.3.4
1.安装mysql
2.mysql数据
create database hive;
use hive;
CREATE TABLE `test1` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`code` varchar(80) NOT NULL DEFAULT '' COMMENT '编号',
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=659 DEFAULT CHARSET=utf8;
insert into test1 (code)values('code1'),('wang'),('hong'),('bing');
mysql> select * from test1;
+-----+-------+---------------------+---------------------+
| id | code | create_time | update_time |
+-----+-------+---------------------+---------------------+
| 659 | code1 | 2018-12-02 23:07:09 | 2018-12-02 23:07:09 |
| 660 | wang | 2018-12-02 23:07:09 | 2018-12-02 23:07:09 |
| 661 | hong | 2018-12-02 23:07:09 | 2018-12-02 23:07:09 |
| 662 | bing | 2018-12-02 23:07:09 | 2018-12-02 23:07:09 |
+-----+-------+---------------------+---------------------+
4 rows in set (0.00 sec)
1.hive-site.xml
[hadoop@hadoop1 conf]$ pwd
/home/hadoop/hive-current/conf
[hadoop@hadoop1 conf]$ cp hive-default.xml.template hive-site.xml
在wrapper代码之前加上:
<!-- 插入一下代码 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>用户名(这4是新添加>的,记住删除配置文件原有的哦!)
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>密码
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>mysql
<value>jdbc:mysql://hadoop1:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>mysql驱动程序
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 到此结束代码 -->
<property>
<name>hive.exec.script.wrapper</name>
<value/>
<description/>
</property>
2.复制mysql的驱动程序到hive/lib下面(这里已经拷贝好了)
[hadoop@hadoop1 hive-current]$ cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar lib/
3.在mysql中hive的schema(在此之前需要创建mysql下的hive数据库)
出错!!!