Hadoop: Hive介绍与安装
Hive产生背景
- MapReduce 不方便
- 传统RDBMS人员的需要,HDFS上的文件并没有schema的概念
Hive
- 解决 海量结构化日志 数据统计的问题
- 构建在hadoop之上的数据仓库(hdfs,Yarn,MapReduce)
- 提供了SQL查询:HQL
- 底层支持多种不同的执行引擎 MR/Tez/Spark
统一元数据管理:
- Hive数据是存放在HDFS
- 元数据信息是存放在MySQL(主备) (Derby默认的,但是只支持单session)
- SQL on hadoop: Hive , Spark SQL , impala
Hive 安装部署
hadoop2.7 使用mapreduce的话,需要降到hive1.X版本,教程是 hive2.x,创建库的时候会报错。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
下面的要改成1.X版本就可以了
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.6/apache-hive-2.3.6-bin.tar.gz
tar -xvf apache-hive-2.3.6-bin.tar.gz
mv apache-hive-2.3.6-bin /usr/local/hive
vim /etc/profile
# hive
export HIVE_HOME=/usr/local/hive
export PATH=${HIVE_HOME}/bin:$PATH
source /etc/profile
修改配置文件
cp hive-env.sh.template hive-env.sh
将HADOOP_HOME=/usr/local/hadoop 写入到 hive-env.sh
# touch hive-site.xml
vim 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://localhost:3306/hadoop_hive?createDatabaseIfNotExist=true&useSSL=false</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>123456</value>
</property>
</configuration>
jar包
# jar 下载分享地址
# https://pan.baidu.com/s/15QCtp9MOi8CHAdh-LR1bIw
cp /root/mysql-connector-java-5.1.46-bin.jar /usr/local/hive/lib
简单测试
# hive中
create database test_db;
# mysql中
show databases;
use hadoop_hive;
show tables;
select * from DBS \G;
还没有评论,来说两句吧...