目录
一、核心功能
二、紧张特性
三、部署方式
四、安全升级
五、应用场景
六、学习资源与文档
1.hive3.1.2部署于Hadoop2.10.2
2.hive3.1.2部署于Hadoop3.2.4
一、核心功能
Hive 3.1.2能够将存储在Hadoop分布式文件体系(HDFS)中的大规模数据举行布局化查询和分析。它提供了类似SQL的查询语言,称为HiveQL(或HQL),用户可以通过HiveQL语句快速地对数据举行提取、转换和加载(ETL)操纵。Hive的核心功能是将HiveQL转换为MapReduce任务(或其他执行引擎如Spark、Flink等,取决于配置),然后提交到Hadoop集群上执行,从而利用Hadoop的分布式盘算能力处置惩罚大规模数据集。
二、紧张特性
- 可扩展性:Hive可以自由地扩展集群的规模,一般环境下不需要重启服务。
- 延申性:Hive支持自定义函数,用户可以根据自己的需求来实现自己的函数。
- 容错性:即使节点出现错误,SQL仍然可以完成执行。
- 易用性:操纵接口采用类SQL语法,提供快速开发的能力,制止了去写MapReduce,淘汰开发职员的学习成本。
此外,Hive 3.1.2版本还对ACID支持举行了加强,使得Hive更加适用于处置惩罚需要高并发和强同等性的事务型应用场景。
三、部署方式
Hive 3.1.2支持多种部署方式,包罗内嵌模式、本地模式和远程模式:
- 内嵌模式:这是Hive的默认部署模式,元数据存储在内置的Derby数据库中,并且Derby数据库和Metastore服务都嵌入在主HiveServer进程中。这种模式适用于测试环境,但不适用于生产环境,因为它一次只能支持一个活动用户。
- 本地模式:在本地模式下,Hive Metastore服务与主HiveServer进程在同一进程中运行,但存储元数据的数据库在单独的进程中运行,并且可以在单独的主机上。本地模式推荐使用MySQL作为外部数据库来存储元数据。
- 远程模式:在远程模式下,Metastore服务在其自己的单独JVM上运行,而不在HiveServer的JVM中运行。这种模式适用于生产环境,因为它可以支持多个客户端同时连接。
四、安全升级
针对日益紧张的数据安全问题,Hive 3.1.2的安全升级版对内部依赖的Jetty举行了升级,明显提升了体系级别的安全性与稳固性。通过升级Jetty版本,解决了旧版本中存在的多个安全毛病,如跨站脚本攻击(XSS)、拒绝服务攻击(DoS)以及信息泄漏等。
五、应用场景
Hive 3.1.2广泛应用于大数据处置惩罚场景中,尤其是在需要对海量数据举行存储、查询和分析的场景下。例如:
- 日记分析:大部分互联网公司使用Hive举行日记分析,如统计一个网站一个时间段内的PV(Page View,页面欣赏量)、UV(Unique Visitor,独立访客)等。
- 多维度数据分析:Hive可用于构建数据堆栈,并举行多维度数据分析。
- 海量布局化数据离线分析:Hive适用于对海量布局化数据举行离线分析。
六、学习资源与文档
Hive 3.1.2提供了丰富的学习资源和文档,包罗官方文档、在线教程、社区论坛等。用户可以通过这些资源快速上手Hive,并深入了解其高级特性和最佳实践。
总的来说,Hive 3.1.2是一个功能强大、易于使用且高度可扩展的数据堆栈软件,适用于处置惩罚大规模数据集和举行复杂的数据分析任务。
前置:搭建hadoop和mysql
1.hive3.1.2部署于Hadoop2.10.2
上传压缩包
解压hive压缩包:(/opt/software)
- tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module
复制代码
改名:(/opt/module)
- mv /opt/module/apache-hive-3.1.2-bin /opt/module/hive
复制代码
配置环境变量:
vi /etc/profile
- export HIVE_HOME=/opt/module/hive
- export PATH=$HIVE_HOME/bin:$PATH
复制代码
使环境变量生效:
初始化元数据库:(/opt/module/hive)
- bin/schematool -dbType derby -initSchema
复制代码
配置元数据到数据库
- create database metastore;
复制代码
将MySQL的JDBC驱动拷贝到Hive的lib目录下:(/opt/software)
- cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
复制代码
新建hive-site.xml文件:(/opt/mouble/hive/conf)
vi $HIVE_HOME/conf/hive-site.xml
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <configuration>
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://master:3306/metastore?useSSL=false</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionDriverName</name>
- <value>com.mysql.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>
- <property>
- <name>hive.metastore.warehouse.dir</name>
- <value>/user/hive/warehouse</value>
- </property>
- </configuration>
复制代码
初始化Hive元数据库(修改为采用MySQL存储元数据):(/opt/module/hive)
- bin/schematool -dbType mysql -initSchema -verbose
复制代码
前20行
后20行
!!!!!初始化报错的话请检查mysql是否为恣意连接(本地连接就会报错)
如果是则举行修改
进入mysql后
- update mysql.user set host="%" where user="root";
复制代码
退出MySQL后再次实验初始化
初始化Hive元数据库(修改为采用MySQL存储元数据):(/opt/module/hive)
- bin/schematool -dbType mysql -initSchema -verbose
复制代码
启动:
验证:
检察数据库
使用数据库
在默认数据库中创建一张表
- create table student(id int,name string);
复制代码
检察表的布局
向表中插入数据
- insert into student values(1,"张三");
复制代码
查询表中数据
退出:
2.hive3.1.2部署于Hadoop3.2.4
上传压缩包
解压hive压缩包:(/opt/software)
- tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module
复制代码
改名:(/opt/module)
- mv opt/module/apache-hive-3.1.2-bin /opt/module/hive
复制代码
配置环境变量:
vi /etc/profile
- export HIVE_HOME=/opt/module/hive
- export PATH=$HIVE_HOME/bin:$PATH
复制代码
使环境变量生效:
删除旧的驱动:
- cd /opt/module/hive/lib
- rm -rf guava-19.0.jar
复制代码
复制新的驱动:
- cp /opt/module/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar /opt/module/hive/lib/
复制代码
初始化元数据库:(/opt/module/hive)
- bin/schematool -dbType derby -initSchema
复制代码
配置元数据到数据库
- create database metastore;
复制代码
将MySQL的JDBC驱动拷贝到Hive的lib目录下:(/opt/software)(可能在其它地方,例如在(sqoop))
- cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
复制代码
新建hive-site.xml文件:(/opt/module/hive/conf)
vi $HIVE_HOME/conf/hive-site.xml
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <configuration>
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://master:3306/metastore?useSSL=false</value>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionDriverName</name>
- <value>com.mysql.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>
- <property>
- <name>hive.metastore.warehouse.dir</name>
- <value>/user/hive/warehouse</value>
- </property>
- </configuration>
复制代码
初始化Hive元数据库(修改为采用MySQL存储元数据):(/opt/module/hive)
- bin/schematool -dbType mysql -initSchema -verbose
复制代码
!!!!!初始化报错的话请检查mysql是否为恣意连接(本地连接就会报错)
如果是则举行修改
进入mysql后
- update mysql.user set host="%" where user="root";
复制代码
退出MySQL后再次实验初始化
初始化Hive元数据库(修改为采用MySQL存储元数据):(/opt/module/hive)
- bin/schematool -dbType mysql -initSchema -verbose
复制代码
启动:
验证:
检察数据库
使用数据库
在默认数据库中创建一张表
- create table student(id int,name string);
复制代码
检察表的布局
向表中插入数据
- insert into student values(1,"ls");
复制代码
查询表中数据
退出:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |