hive sql 纵向横向转换 您所在的位置:网站首页 sql横向表转纵向 hive sql 纵向横向转换

hive sql 纵向横向转换

2023-09-25 12:45| 来源: 网络整理| 查看: 265

基本概念

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

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有