Hive 史上最全面的大数据学习第九篇(一) 概述 & 安装方式详解

在这里插入图片描述
Hive概述 & 安装方式详解

Hive表操作

Hive表分类

Hive Sql 操作

Hive 自定义函数

Hive On HBase

一、概述

由FaceBook开源用于解决海量结构化日志的数据统计工具。

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

在这里插入图片描述

二、Hive安装

2.1 依赖环境

  • HDFS和MR就绪
  • 需要安装Mysql服务
[root@HadoopNode00 ~]# yum install -y mysql-server
[root@HadoopNode00 ~]# mysqladmin -u root password 'root'
[root@HadoopNode00 ~]# mysql -u root -p1234
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql

mysql> delete from user where password = '';

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


mysql> create  database hive;
Query OK, 1 row affected (0.00 sec)


2.2 安装配置Hive

[root@HadoopNode00 ~]# mkdir /home/hive # 创建hive文件夹
[root@HadoopNode00 hive]# cd /home/hive/ # 进入到HIve目录
[root@HadoopNode00 hive]# tar -zxvf apache-hive-1.2.1-bin.tar.gz  # 解压
[root@HadoopNode00 ~]# vi /home/hive/apache-hive-1.2.1-bin/conf/hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.126.10:3306/hive</value>
  </property>
  
    <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  
   <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  
   <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>1234</value>
  </property>
</configuration>

2.3 拷贝相关依赖

  • 将mysql 的依赖拷贝到/home/hive/apache-hive-1.2.1-bin/lib/
  • 将hive目录下的lib目录下的jline-2.12.jar拷贝到/home/hadoop/hadoop-2.6.0/share/hadoop/yarn/lib/下,并且删除jline0.9.94低版本的数据

2.4 配置环境变量

[root@HadoopNode00 ~]# vi .bashrc
export HIVE_HOME=/home/hive/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
[root@HadoopNode00 ~]# source .bashrc

2.5 安装配置Hive

管理员模式

[root@HadoopNode00 ~]# hive
hive> create table t_user (id string,name string);
OK
Time taken: 0.291 seconds
hive> insert into  t_user values ('1','zs');

[root@HadoopNode00 ~]# hive -e 'use baizhi; select * from t_user;'

Logging initialized using configuration in jar:file:/home/hive/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
OK
Time taken: 0.722 seconds
OK
1       zs
Time taken: 0.527 seconds, Fetched: 1 row(s)

JDBC服务模式

[root@HadoopNode00 ~]# hiveserver2 # 必须保证hiveserver2处于运行状态  前台启动模式

[root@HadoopNode00 ~]# hiveserver2 & # 必须保证hiveserver2处于运行状态 后台启动模式

[root@HadoopNode00 ~]# beeline -u jdbc:hive2://HadoopNode00:10000 -n root

[root@HadoopNode00 ~]#  beeline -u jdbc:hive2://$HOSTNAME:10000 -n root  # 获取主机名 $HOSTNAME
献给每一个正在努力的我们,就算在忙,也要注意休息和饮食哦!我就是我,一个在互联网跌跌撞撞,摸爬滚打的热忱,给个三连吧~

猜你喜欢

转载自blog.csdn.net/artiil/article/details/107375269