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学习(仅供参考)的主要内容,如果未能解决你的问题,请参考以下文章