hive学习(仅供参考)

Posted Triumph-CP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive学习(仅供参考)相关的知识,希望对你有一定的参考价值。

hive搭建

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

[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

结果会敲很多空格

如果初始化失败,要去mysql中删除hive145(配置文件中配置的)

安装成功

启动hadoop

start-all.sh

输入 hive即可进入hive

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

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


插入一条数据

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


启动历史服务器可以看日志

mr-jobhistory-daemon.sh start historyserver

以上是关于hive学习(仅供参考)的主要内容,如果未能解决你的问题,请参考以下文章

hive学习(仅供参考)

hive学习(仅供参考)

6.1 Hive学习总结

hive和hbase有啥关系和区别

hive学习笔记

hive学习笔记