当前位置: 首页 > news >正文

Hive3:常用的内置函数

1、查看函数列表

-- 查看所有可用函数
show functions;
-- 查看count函数使用方式
describe function extended count;

2、数学函数

-- round 取整,设置小数精度
select round(3.1415926);		-- 取整(四舍五入)
select round(3.1415926, 4);		-- 设置小数精度4位(四舍五入)
-- 随机数
select rand();					-- 完全随机
select rand(3);					-- 设置随机数种子,设置种子后每次运行结果一致的
-- 绝对值
select abs(-3);
-- 求PI
select pi();

3、集合函数

在这里插入图片描述

-- 求元素个数
select size(work_locations) from test_array;
select size(members) from test_map;
-- 取出map的全部key
select map_keys(members) from test_map;
-- 取出map的全部value
select map_values(members) from test_map;
-- 查询array内是否包含指定元素,是就返回True
select * from test_array where ARRAY_CONTAINS(work_locations, 'tianjin');
-- 排序
select *, sort_array(work_locations) from test_array;

4、类型转换函数

在这里插入图片描述

-- 转二进制
select binary('hadoop');
-- 自由转换,类型转换失败报错或返回NULL
select cast('1' as bigint);

在这里插入图片描述

5、日期函数

在这里插入图片描述

-- 当前时间戳
select current_timestamp();
-- 当前日期
select current_date();
-- 时间戳转日期
select to_date(current_timestamp());
-- 年月日季度等
select year('2020-01-11');
select month('2020-01-11');
select day('2020-01-11');
select quarter('2020-05-11');		--季度
select dayofmonth('2020-05-11');
select hour('2020-05-11 10:36:59');
select minute('2020-05-11 10:36:59');
select second('2020-05-11 10:36:59');
select weekofyear('2020-05-11 10:36:59');
-- 日期之间的天数
select datediff('2022-12-31', '2019-12-31');
-- 日期相加、相减
select date_add('2022-12-31', 5);
select date_sub('2022-12-31', 5);

6、条件函数

在这里插入图片描述

-- if判断
SELECT if (truename is NULL,'没有填写姓名',truename) from users;--null判断
SELECT isnull(truename) from users;
SELECT isnotnull(truename) from users;--nvl ,如果字段值为null,则返回默认值,否则返回字段的值,等同于if判断的效果
SELECT nvl(truename,'无姓名') from users;
-- 返回第一个不是null的v,如果所有v都是null,则返回null
SELECT COALESCE (truename,brithday) from users;
-- 当a=b,返回c,当a=d时返回e,否则返回f
SELECT username ,CASE username when '周杰轮' THEN '著名歌星' WHEN '张鲁依' THEN '著名演员' ELSE '未知人员' END FROM users;
SELECT truename ,CASE when truename is null then '无姓名' ELSE truename end FROM users;--如果 a=b ,则返回null,否则返回a。
SELECT truename ,NULLIF (truename,NULL) from users u ;

7、字符串函数

在这里插入图片描述

-- 连接字符串
SELECT CONCAT(loginname,username)  FROM users u ;
SELECT CONCAT_WS(',',loginname,username) from users u ;
-- 统计长度
SELECT username ,LENGTH (username) FROM users u ;-- 转换大小写
SELECT LOWER('ABC')  ;
SELECT UPPER('avc')  ;-- 去除收尾空格
SELECT TRIM('  hadoop   ds   ')  ;-- 字符串分割
SELECT split('aaaa,bbbb,ccc',',')[0];

8、数据脱敏函数

在这里插入图片描述

-- hash加密(结果是16进制字符串)
SELECT mask_hash('hadoop');

9、其他函数

在这里插入图片描述

-- hash加密  结果是数字
SELECT hash('aaahsdd');-- 当前用户
SELECT CURRENT_USER();--当前数据库
SELECT CURRENT_DATABASE();--hive版本
SELECT VERSION(); --计算md5
SELECT MD5('HADOOP');

相关文章:

Hive3:常用的内置函数

1、查看函数列表 -- 查看所有可用函数 show functions; -- 查看count函数使用方式 describe function extended count;2、数学函数 -- round 取整,设置小数精度 select round(3.1415926); -- 取整(四舍五入) select round(3.1415926, 4); -- 设置小数精度4位(四…...

设计模式---构建者模式(Builder Pattern)

构建者模式(Builder Pattern) 是一种创建型设计模式,旨在将复杂对象的构建过程与其表示分离。它允许使用相同的构建过程创建不同的表示。该模式通常用于构建复杂对象,这些对象由多个部分组成或具有多个可选属性。 构建者模式的核…...

Pytorch中transform的应用

在PyTorch中,transforms模块主要用于对图像进行预处理和数据增强,以便于训练深度学习模型。这些转换操作可以包括裁剪、缩放、旋转、翻转等,以及对图像进行标准化处理。下面将详细介绍一些常用的transforms操作及其应用。 1. 常用的transfor…...

okular阅读软件简介

okular阅读软件官网:https://okular.kde.org/zh-cn/ Okular 是一款由 KDE 开发的跨平台文档阅读器,以其功能丰富、轻巧快速而著称。它支持多种文件格式,包括 PDF、EPub、DjVu、MD 文档,以及 JPEG、PNG、GIF、Tiff 和 WebP 图像&a…...

【书生大模型实战营(暑假场)闯关材料】基础岛:第1关 书生大模型全链路开源体系

【书生大模型实战营(暑假场)闯关材料】基础岛:第1关 书生大模型全链路开源体系 简介一、背景介绍1.1 背景介绍1.2 全链路开源开放体系的优势 二、全链路开源开放体系的主要特点2.1 模型组件的公开和共享2.2 数据集的公开和共享2.3 模型的互操…...

掌握抽象工厂模式:打造灵活且强大的跨平台产品族

抽象工厂模式是一种创建型设计模式,它的核心思想是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。这种模式通过使用抽象工厂来封装和隔离具体产品的创建过程,使得客户端可以通过工厂接口来创建一族产品,从…...

【Hadoop】建立圈内组件的宏观认识(大纲版)

Hadoop生态圈解析:各组件的主要功能及作用详解 Hadoop生态圈是由一系列开源组件组成的,这些组件共同构建了一个大规模分布式计算和存储平台。 01存储类型组件 HDFS Hadoop体系的核心组件之一,它是一个分布式文件系统,被设计用于存…...

NFS主从同步Rsync、sersync2

准备工作检查selinux 防火墙 #关闭 selinux sed -i s/^SELINUX.*/SELINUXdisabled/ /etc/selinux/config #关闭防火墙 systemctl stop firewalld;systemctl disable firewalld1.安装nfs相关包 # 所有节点安装nfs相关包 yum install nfs-utils -y systemctl enable nfs-utils …...

uniapp项目中,在原有数据中增加选中的状态,数据不改变

uniapp项目中,在原有数据中增加选中的状态,选中后打印的数据显示有变化,然而文本的数据并没有发生变化 看代码 export default {data() {return {thicate: [{ id: 1, text: "Item 1" },{ id: 2, text: "Item 2" },{ id…...

WPF自定义控件

控件模板 顾名思义就是在原有的控件上进行模版修改成自己需要的样式 把ProgressBar修改为一个水液面的进度条 <Window x:Class"XH.CustomLesson.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://s…...

Java中的全局异常处理器 -- GlobalExceptionHandler

开发记录&#xff1a;全局异常处理器笔记 import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.MyBatisSystemException; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.RedisConnectionFailureException; im…...

R语言文本挖掘-万字详细解析tm包

tm包&#xff08;Text Mining Package&#xff09;是R语言中用于文本挖掘的强大工具包&#xff0c;它提供了一系列的功能来处理和分析文本数据。偶然看到这个包&#xff0c;我们一起看看其中的基本功能&#xff1a; 数据载入&#xff1a;tm包支持从多种数据源载入文本数据&…...

JWT中的Token

1.JWT是什么&#xff1f; jwt&#xff08;json web token的缩写&#xff09;是一个开放标准&#xff08;rfc7519&#xff09;&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于在各方之间以json对象安全地传输信息&#xff0c;此信息可以验证和信任&#xff0c;因…...

苹果在iOS 18.1中向第三方开发者开放iPhone的NFC芯片

苹果公司今天宣布&#xff0c;开发者很快就能首次在自己的应用程序中提供 NFC 交易功能&#xff0c;而目前这主要是Apple Pay独有的功能。从今年晚些时候的 iOS 18.1 开始&#xff0c;开发者将可以使用新的 API 提供独立于 Apple Pay 和 Apple Wallet 的应用内非接触式交易。 这…...

系统开发之禁止卸载应用名单

本文目的主要是记录自己系统&#xff08;Android7.1系统&#xff09;开发实现代码&#xff0c;以便后期通用的功能可以直接使用&#xff0c;不需要再去通过搜索然后筛选再验证的繁琐流程&#xff0c;大大减小自己的开发时间。 我实现思路是在系统内新增自己的数据库用来记录禁止…...

wait 和 notify

目录 wait() 方法 notify() 方法 notifyAll() 方法 nofity 和 notifyAll wait 和 notify wait 和 sleep 的区别 wait 和 join 的区别 由于线程之间是抢占式执行的&#xff0c;因此&#xff0c;线程之间执行的先后顺序难以预知&#xff0c;但是&#xff0c;在实际开发中&…...

docker 启动 mongo,redis,nacos.

docker run --name mymongodb -e MONGO_INITDB_ROOT_USERNAMEadmin -e MONGO_INITDB_ROOT_PASSWORDXiaoyusadsad -p 27017:27017 -v /path/to/mongo-data:/data/db -d mongodb/mongodb-community-server:4.4.18-ubuntu2004-v 的目录必须是绝对目录 目录必须 chmod 777 /path/…...

Docker Swarm 搭建

Docker Swarm 搭建 1. 环境介绍 操作系统Centos 7Centos 7Centos 7内核版本Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64主机名称swarm-managerswarm-worker1swarm-worker2IP192.168.1.100192.168.1.200192.168.1.250Docker Domain20…...

浅述TSINGSEE青犀EasyCVR视频汇聚平台与海康安防平台的区别对比

在我们的很多项目中都遇到过用户的咨询&#xff1a;TSINGSEE青犀EasyCVR视频汇聚平台与海康平台的区别在哪里&#xff1f;确实&#xff0c;在安防视频监控领域&#xff0c;EasyCVR视频汇聚平台与海康威视平台是两个备受关注的选择。它们各自具有独特的功能和优势&#xff0c;适…...

设计模式系列:策略模式的设计与实践

一、背景 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一系列的算法&#xff0c;并将每一个算法封装起来&#xff0c;使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户。 二、结构 策略模式主要包含三个角色&…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...