Hadoop技术栈(三)数仓工具HIVE

概念(HIVE并非数据库)

Hive 是基于 Hadoop 的一个数据仓库工具,可以将 结构化的数据文件 映射为一张表
( 类似于 RDBMS 中的表 ) ,并提供类 SQL 查询功能; Hive 是由 Facebook 开源,用于解
决海量结构化日志的数据统计。
Hive 本质是:将 SQL 转换为 MapReduce 的任务进行运算
底层由 HDFS 来提供数据存储
可以将 Hive 理解为一个: SQL 转换为 MapReduce 任务的工具

HIVE的安装配置

参考我这边文章装mysql:Linux——MySQL8安装(更新)_linux wgt安装mysql8-优快云博客

下载网址:http://archive.apache.org/dist/hive/

mysql里边创建hive用户

-- 创建用户设置口令、授权、刷新
CREATE USER 'hive'@'%' IDENTIFIED BY '12345678';
GRANT ALL ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

解压文件:tar zxvf apache-hive-2.3.7-bin.tar.gz -C ../servers/

重命名文件:mv apache-hive-2.3.7-bin hive-2.3.7

# 在 /etc/profile 文件中增加环境变量
export HIVE_HOME=/opt/lxq/servers/hive-2.3.7
export PATH=$PATH:$HIVE_HOME/bin
# 执行并生效
source /etc/profile

cd $HIVE_HOME/conf vi hive-site.xml 增加以下内容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- hive元数据的存储位置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://linux123:3306/hivemetadata?createDatabaseIfNotExist=true&amp;useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- 指定驱动程序 -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!-- 连接数据库的用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<!-- 连接数据库的口令 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>12345678</value>
<description>password to use against metastore database</description>
</property>
</configuration>

mysql-connector-java-5.1.46.jar 拷贝到 $HIVE_HOME/lib

初始化元数据库:schematool -dbType mysql -initSchema

启动HIVE

# 启动 hive 服务之前,请先启动 hdfs yarn 的服务
[root@linux123 ~] $ hive
hive> show functions;

Hive 属性配置

hive-site.xml 中增加以下常用配置
<property>
<!-- 数据默认的存储位置(HDFS) -->
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<!-- 在命令行中,显示当前操作的数据库 -->
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
<property>
<!-- 在命令行中,显示数据的表头 -->
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<!-- 操作小规模数据时,使用本地模式,提高效率 -->
<name>hive.exec.mode.local.auto</name>
<value>true</value>
<description>Let Hive determine whether to run in local mode automatically</description>
</property>

hive日志文件

Hive log 默认存放在 /tmp/root 目录下( root 为当前用户名);这个位置可以修 改:

vi $HIVE_HOME /conf/hive-log4j2.properties
# 添加以下内容:
property.hive.log.dir = /opt/lxq/servers/hive-2.3.7/logs
-- 查看全部参数
Hadoop Hive数仓实战项目是基于HadoopHive技术的数据仓库项目。在这个项目中,使用Hadoop集群来存储和处理大规模的数据,并使用Hive作为数据仓库的查询和分析工具。 在项目中,首先需要添加一个hadoop用户组,并创建一个hadoop用户,并设置用户密码。然后,切换到hadoop用户,并启动Hive。通过Hive,可以执行一系列的命令,如展示数据库、退出等操作。 引用中提到,Hive建立在Hadoop之上,具有与Hadoop相同的可扩展性,可以轻松应对大规模的数据处理需求。这意味着Hadoop Hive数仓实战项目可以处理大规模的数据,并能够支持超过1000个节点的Hadoop集群。 另外,引用中提到了一些配置文件的重要性,如hive-site.xml和hive-default.xml,它们可以通过设置-hiveconf参数来进行配置。 综上所述,Hadoop Hive数仓实战项目是一个基于HadoopHive技术的大规模数据仓库项目,可以通过Hive进行数据查询和分析,并具有与Hadoop相同的可扩展性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [大数据开发基础入门与项目实战(Hadoop核心及生态圈技术栈之3.数据仓库工具Hive基础](https://blog.youkuaiyun.com/CUFEECR/article/details/121189073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值