AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

Hive

Hive

是什么

Hive是一个数据仓库工具
Hive提供了类SQL的语法,HQL,直接对存储在分布式存储系统(HDFS)上的数据,进行读、写、管理以及分析计算。
Hive可以为HDFS的存储的文件添加表结构映射。
Hive提供了两类操作接口,命令行接口,JDBC远程连接。

  • 优点
    使用方便:降低了Hadoop使用的学习成本
    扩展性:Hive直接使用Hadoop提供的高性能高容错的分布式存储和计算平台

  • 缺点
    速度慢:面向海量数据,默认使用MR引擎
    优化粒度较粗:开发者只能基于SQL层面做优化

Hive的安装

  • Hive需要依靠HDFS作为底层存储

  • 需要依靠MR作为计算引擎

  • 需要依靠MySQL存储Hive的元数据

  • 版本:最新3.x 当前2.3.9

  1. 下载解压
  2. 修改配置文件

    • hive-env.sh
HADOOP_HOME=/opt/hadoop-2.7.7
export JAVA_HOME=/opt/jdk1.8
  • 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://bd1201:3306/metastore</value>
 </property>
 <property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.cj.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>
  • 将mysql的java驱动jar包上传到Hive的lib目录
  1. 添加环境变量
echo 'export HIVE_HOME=/opt/hive-2.3.9' >> /etc/profile
echo 'export PATH=$HIVE_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
  1. 初始化元数据库
schematool  -initSchema -dbType mysql
  1. 启动Cli

hive

Hive的操作

DDL

DML

DQL

Hive核心原理

file

file