天天看點

Hive-2:hive1. 初識hive2.驗證

無hive:使用者…->mapreduce…->hadoop資料(可能需要會mapreduce)

有hive:使用者…->HQL(SQL)->hive…->mapreduce…->hadoop資料(隻需要會SQL語句)

1. 初識hive

  1. hive時建構在hadoop上的資料倉庫平台。
  1. 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資料庫)

出錯!!!

繼續閱讀