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;
插入一条数据文章来源:https://www.toymoban.com/news/detail-404130.html
insert into demo1 values(1,"zs");
启动历史服务器可以看日志文章来源地址https://www.toymoban.com/news/detail-404130.html
mr-jobhistory-daemon.sh start historyserver
到了这里,关于hive学习(仅供参考)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!