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

news/2025/2/1 18:58:49/

日志

可以在终端通过 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'
e--execute
f--file
s--silent
i--init
示例  : 没有写数据库名称默认是从default数据库中查找
2. beeline 连接

复杂数据类型Array

注意: 创建表时除了需要指定数组元素的分隔符, 否则所有的元素都会被当成一个元素
array里面元素的数据类型只能是基本数据类型,不能是另一种复杂类型
示例
一个双引号是一个元素
访问数组的具体元素使用下标
size(数组名) 返回数组元素的个数
如果想查询每个人的总成绩, 因为王五只考了2门成绩, 所以出现了NULL, 需要对空值进行处理, 这需要知道每个数组的元素个数,比较麻烦
把数组里面的元素展开,可以更方便地统计总成绩, 即行转列, 可以使用展开函数(也称爆炸函数)

行转列: 展开函数explode和虚拟表lateral view

UDTF是User-Defined Table-Generating Functions的缩写,即用户定义的表生成函数。
使用时select后面不能出现其他列
示例: 爆炸函数

示例: 虚拟表

lateral view explode(score) 虚拟表的表名是mytab 给表起个别名 cj 作为查询列

列转行 : collect_set和 collect_list

多变一


http://www.ppmy.cn/news/1568492.html

相关文章

C语言指针专题二 -- 字符指针与字符串

目录 1. 字符指针与字符串的核心原理 字符串的本质 字符串的存储 字符指针的特性 字符指针的操作 2. 编程实例 3. 常见陷阱与注意事项 4. 总结 1. 字符指针与字符串的核心原理 字符串的本质 C语言中没有独立的字符串类型,字符串本质是 以\0(空…

CTF-web: phar反序列化+数据库伪造 [DASCTF2024最后一战 strange_php]

step 1 如何触发反序列化? 漏洞入口在 welcome.php case delete: // 获取删除留言的路径,优先使用 POST 请求中的路径,否则使用会话中的路径 $message $_POST[message_path] ? $_POST[message_path] : $_SESSION[message_path]; $msg $userMes…

双向链表在系统调度、游戏、文本编辑及组态方面的应用

在编程的奇妙世界里,数据结构就像是一把把神奇的钥匙(前面我们介绍过单向链表的基础了,这里我们更进一步),能帮我们打开解决各种问题的大门。今天,咱们就来聊聊其中一把特别的钥匙——双向链表。双向链表和…

Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题

一、整个前言 在基于 Ruoyi 框架进行系统开发的过程中,我们常常会遇到各种有趣且具有挑战性的问题。今天,我们就来深入探讨一个在实际开发中较为常见的问题:当连续快速发送 Post 请求时,前端会弹出 “数据正在处理,请…

C++,STL,【目录篇】

文章目录 一、简介二、内容提纲第一部分:STL 概述第二部分:STL 容器第三部分:STL 迭代器第四部分:STL 算法第五部分:STL 函数对象第六部分:STL 高级主题第七部分:STL 实战应用 三、写作风格四、…

freeswitch在centos上编译过程

操作系统:centos9-last usr/local/freeswitch/bin/freeswitch -version FreeSWITCH version: 1.10.13-devgit~20250125T131725Z~3f1e4bf90a~64bit (git 3f1e4bf 2025-01-25 13:17:25Z 64bit)vi /etc/ssh/sshd_config ip a nmtui reboot ip a curl -o /etc/pki/rpm-…

数仓ETL测试

提取,转换和加载有助于组织使数据在不同的数据系统中可访问,有意义且可用。ETL工具是用于提取,转换和加载数据的软件。在当今数据驱动的世界中,无论大小如何,都会从各种组织,机器和小工具中生成大量数据。 …

信号模块--simulink操作

位置simulink/sourses 常用的模块 功能:常数模块,提供一个常数 数据设置可以是一维或多维 一维数据设置 多维数据设置(例三维数据设置) 方波脉冲模块 模块用于按固定间隔生成方波脉冲信号 振幅就是方波的幅度,0到…