hive学习(仅供参考)

hive搭建

  • Hive
    • 什么是hive
    • Hive的优势和特点
  • hive搭建
    • 解压、改名
    • 修改环境变量
    • 添加hive-site.xml
    • 将maven架包拷贝到hive
    • 替换一下gua包
    • 使环境变量生效
    • 初始化
    • 安装成功

Hive

什么是hive

将结构化的数据文件映射为数据库表
提供类sql的查询语言HQL(Hive Query Language)
Hive让更多的人使用Hadoop

Hive的优势和特点

提供了一个简单的优化模型
HQL类SQL语法,简化MR开发
支持在不同的计算框架上运行
支持在HDFS和HBase上临时查询数据
支持用户自定义函数、格式
常用于ETL操作和BI
稳定可靠(真实生产环境)的批处理
有庞大活跃的社区

hive搭建

解压、改名

  tar -zxf /opt/install/apache-hive-3.1.2-bin.tar.gz -C /opt/soft/
  mv /opt/soft/apache-hive-3.1.2-bin/ /opt/soft/hive312

修改环境变量

#HIVE_HOME
export HIVE_HOME=/opt/soft/hive312
export PATH=$PATH:$HIVE_HOME/bin

添加hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/opt/soft/hive312/warehouse</value>
  </property>
  <property>
    <name>hive.metastore.db.type</name>
    <value>mysql</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.153.141:3306/hive145?createDatabaseIfNotExist=true</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>root</value>
  </property>
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
	<description>关闭schema验证</description>
  </property>
  <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
	<description>提示当前数据库名</description>
  </property>
  <property>
    <name>hive.cli.print.header</name>
    <value>true</value>
	<description>查询输出时,带列名一起输出</description>
  </property>
</configuration>

将maven架包拷贝到hive

/apache-maven-3.6.1\repository\mysql\mysql-connector-java\8.0.29

/opt/soft/hive312/lib
hive学习(仅供参考)_第1张图片

[root@cp145 hive312]# ls ./lib/ | grep guava

在这里插入图片描述

替换一下gua包

删除guava

rm -f ./lib/guava-19.0.jar

将hadoop下的guava传到hive里

[root@cp145 hive312]# find /opt/soft/hadoop313/ -name guava*
/opt/soft/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar
/opt/soft/hadoop313/share/hadoop/hdfs/lib/guava-27.0-jre.jar
[root@cp145 hive312]# cp /opt/soft/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
[root@cp145 hive312]# ls ./lib/ | grep guava
guava-27.0-jre.jar
jersey-guava-2.25.1.jar

使环境变量生效

source /etc/profile

初始化

schematool -dbType mysql -initSchema

结果会敲很多空格
hive学习(仅供参考)_第2张图片
如果初始化失败,要去mysql中删除hive145(配置文件中配置的)

安装成功

启动hadoop

start-all.sh

输入 hive即可进入hive

建表语言用的是java跟mysql有点区别

create table demo1(id int, name string);
show create table demo1;

hive学习(仅供参考)_第3张图片
插入一条数据

insert into demo1 values(1,"zs");

hive学习(仅供参考)_第4张图片
启动历史服务器可以看日志

mr-jobhistory-daemon.sh start historyserver

你可能感兴趣的:(hive,学习,hadoop)