hive sql 纵向横向转换_一文彻底了解Hive

本文详细介绍了Hive数据仓库工具的基本概念、优缺点、架构原理、安装配置、数据类型、DDL与DML操作、分区表、查询优化、分桶表以及函数应用,特别讨论了如何进行数据的纵向和横向转换,帮助读者深入理解并掌握Hive的使用。
摘要由CSDN通过智能技术生成

基本概念

Hive是基于hadoop的一个数据仓库工具,是一种编程接口,处理结构化数据,将结构化的数据文件映射成表,并提供类SQL查询功能。

本质:将HQL转化为MR程序。

91b7db40c6a4f9aef792688956026f0d.png

优缺点:

优点:采用类SQL语法,易上手;避免写MR程序,减少学习成本;吞吐量大;支持用户自定义函数

缺点:表达能力有限(受限于MR编程模型);调优困难,粒度较粗

Hive架构原理

9445ee38dc94016b48f3fa982740c18a.png

Hive安装及配置

Hive的安装很简单,解压安装包即可。

Hive需要修改的配置:

hive-env.sh文件

export HADOOP_HOME=/usr/local/src/hadoop-2.10.0export HIVE_CONF_DIR=/usr/local/src/hive-2.3.6/conf

Hive默认使用第三方的Derby数据库存储元数据,也可以使用MySQL代替Derby。

通过执行bin/hive进去hive的交互式界面,hive的语法和常规的数据库语法非常类似。

40a2aee0a8918423e8eba0041e176b5f.png

使用MySQL替换Derby

直接下载rpm包安装,然后配置hive的配置文件hive-site.xml

  <property>    <name>javax.jdo.option.ConnectionURLname>    <value>jdbc:mysql://hdp-master1:3306/hive?createDatabaseIfNotExist=truevalue>    <description>JDBC connect string for a JDBC metastoredescription>  property>  <property>   <name>javax.jdo.option.ConnectionDriverNamename>    <value>com.mysql.cj.jdbc.Drivervalue>    <description>Driver class name for a JDBC metastoredescription>  property>  <property>    <name>javax.jdo.option.ConnectionUserNamename>    <value>rootvalue>    <description>username to use against metastore databasedescription>  property>  <property>    <name>javax.jdo.option.ConnectionPasswordname>    <value>rootvalue>    <description>password to use against metastore databasedescription>  property>

执行./schematool -initSchema -dbType mysql初始化。

Hive常用交互命令

1、-e 不进入hive的交互窗口执行sql语句

bin/hive -e “select * from stu;”

2、-f 以文件作为参数,执行文件内的sql语句

bin/hive -f ./hive.sql

3、将结果输出到文件中。

bin/hive -f ./hive.sql > /home/hadoop/hive_result.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值