Hive:日志,hql运行方式,Array,行列转换

日志

可以在终端通过 find / | grep hive-log4j2 命令查找Hive的日志配置文件

这些文件用于配置Hive的日志系统。它们不属于系统日志也不属于Job日志,而是用于配置Hive如何记录系统日志和Job日志, 可以通过hive-log4j2 查找日志的位置

HQL的3种运行方式

第1种就是linux终端, 第3种是通过第三方工具,比如DataGrip, 第3种方式用得比较多

  1. 在linux命令行中执行HQL

root@hadoop01 \~\] $ hive --database 数据库名 -e 'hql query' ![](https://i-blog.csdnimg.cn/direct/1318305ed94845db81247aa0bb047ec1.png) e--execute f--file s--silent i--init 示例 : 没有写数据库名称默认是从default数据库中查找 ![](https://i-blog.csdnimg.cn/direct/51326f464b1444bca2171809fe4019ca.png) ![](https://i-blog.csdnimg.cn/direct/fd1ff1022cf24a6aa8085e4723d56099.png) 2. beeline 连接 ![](https://i-blog.csdnimg.cn/direct/9df4b8c755f147c6a8595bd3331b0fc3.png) ### 复杂数据类型Array ![](https://i-blog.csdnimg.cn/direct/018dbf41a6ed445ab0cae3d938370955.png) 注意: 创建表时除了需要指定数组元素的分隔符, 否则所有的元素都会被当成一个元素 array里面元素的数据类型只能是基本数据类型,不能是另一种复杂类型 示例 ![](https://i-blog.csdnimg.cn/direct/bf285a9fa2524721b5f3d7fa86dec8ab.png) ![](https://i-blog.csdnimg.cn/direct/1ca7deff5db2465b828a5a0e58b710fd.png) 一个双引号是一个元素 ![](https://i-blog.csdnimg.cn/direct/742bc54078ce4514a5bc33c4f4c62a23.png) 访问数组的具体元素使用下标 ![](https://i-blog.csdnimg.cn/direct/9e20846f0d9f4e7d814257bc164bd711.png) size(数组名) 返回数组元素的个数 ![](https://i-blog.csdnimg.cn/direct/dc6250ddfec244f186caebb5d8a63281.png) ![](https://i-blog.csdnimg.cn/direct/5566091c281748a788fd087e3a1c11a1.png) 如果想查询每个人的总成绩, 因为王五只考了2门成绩, 所以出现了NULL, 需要对空值进行处理, 这需要知道每个数组的元素个数,比较麻烦 ![](https://i-blog.csdnimg.cn/direct/c54a4f544d8b4a04af3f05c622e70679.png) ![](https://i-blog.csdnimg.cn/direct/8ec1855ecbc6433d84ed6a6f57234a64.png) 把数组里面的元素展开,可以更方便地统计总成绩, 即行转列, 可以使用展开函数(也称爆炸函数) ![](https://i-blog.csdnimg.cn/direct/3ef0ab591ce94d87a9078fa3ce3555fb.png) ### **行转列: 展开函数explode和虚拟表lateral view** ![](https://i-blog.csdnimg.cn/direct/d68ccd2ced444bec8e67cf99c77bb9fe.png) UDTF是User-Defined Table-Generating Functions的缩写,即用户定义的表生成函数。 使用时select后面不能出现其他列 示例: 爆炸函数 ![](https://i-blog.csdnimg.cn/direct/27c641714b724bfeb67887d3dd90c1b7.png) ![](https://i-blog.csdnimg.cn/direct/056d07414c7e419da044548bb786aa2d.png) 示例: 虚拟表 lateral view explode(score) 虚拟表的表名是mytab 给表起个别名 cj 作为查询列 ![](https://i-blog.csdnimg.cn/direct/f05a13aa2294425cbf2905afc2455a5a.png) ![](https://i-blog.csdnimg.cn/direct/02cb8baf338e44debc5a91ddad244454.png) ![](https://i-blog.csdnimg.cn/direct/14f50a3a5a034b19aac99599eaeee1ce.png) ### 列转行 : collect_set和 collect_list 多变一 ![](https://i-blog.csdnimg.cn/direct/441e37e1ea8b40ca95ab0307c681866a.png)

相关推荐
bigdata-rookie21 小时前
Starrocks 简介
大数据·数据库·数据仓库
尘世壹俗人1 天前
Zookeeper、Hadoop、Hive配置Kerberos
hadoop
B站计算机毕业设计超人1 天前
计算机毕业设计hadoop+spark+hive在线教育可视化 课程推荐系统 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hive·hadoop·scrapy·spark·课程设计
B站计算机毕业设计超人1 天前
计算机毕业设计PySpark+Hive+Django小红书评论情感分析 小红书笔记可视化 小红书舆情分析预测系统 大数据毕业设计(源码+LW+PPT+讲解)
大数据·人工智能·hive·爬虫·python·spark·课程设计
普通网友1 天前
Hive ACID 事务表实战:插入 / 更新 / 删除操作的配置与使用限制
数据仓库·hive·hadoop
独自归家的兔1 天前
windows Hive使用全攻略:从入门到实战,轻松搞定大数据处理 - Hadoop windows安装
数据仓库·hive·hadoop
走过冬季1 天前
02 | Hive SMB Join 原理
数据仓库·hive·hadoop
QQ17958063961 天前
基于springboot+vue的hive的歌曲音乐筛选推荐系统网站(源码+lw+部署文档+讲解等)
vue.js·hive·spring boot
大鳥1 天前
第一章 - 数据仓库是什么
大数据·数据库·hive
大鳥2 天前
数据仓库知识体系
hive·hadoop