無hive:使用者…->mapreduce…->hadoop資料(可能需要會mapreduce)
有hive:使用者…->HQL(SQL)->hive…->mapreduce…->hadoop資料(隻需要會SQL語句)
1. 初識hive
- hive時建構在hadoop上的資料倉庫平台。
- hive與hbase的關系:
- hive是基于hadoop的資料倉庫工具,是簡化編寫MapReduce程式而生。十分适合資料倉庫的統計分析。
- hbase是一個分布式的、面向列的開源資料庫。他是一個适合于非結構化資料存儲的資料庫。
- hive叢集可以和hbase叢集連接配接。
2.驗證
[[email protected] 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
[[email protected] conf]$ pwd
/home/hadoop/hive-current/conf
[h[email protected] 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下面(這裡已經拷貝好了)
[[email protected] hive-current]$ cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar lib/
3.在mysql中hive的schema(在此之前需要建立mysql下的hive資料庫)
出錯!!!