当前位置: 首页 > 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;如何让网易云音乐的加密文件在任意设备自由播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经在网易云音乐下载了心爱的歌曲&#xff0c;却发现只能在特定客户端播放&#xff0c;无法在车载音响…...

macOS微信防撤回终极指南:3分钟轻松安装WeChatIntercept插件

macOS微信防撤回终极指南&#xff1a;3分钟轻松安装WeChatIntercept插件 【免费下载链接】WeChatIntercept 微信防撤回插件&#xff0c;一键安装&#xff0c;仅MAC可用&#xff0c;支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 还在为微…...

GitHub个人访问令牌实战:告别密码认证,安全推送代码与创建PR

1. 项目概述与核心痛点如果你刚开始接触开源贡献&#xff0c;或者最近在尝试向GitHub推送代码时&#xff0c;大概率会遇到一个令人困惑的拦路虎&#xff1a;在终端执行git push命令后&#xff0c;系统提示你输入用户名和密码。你很自然地输入了登录GitHub网站用的账号密码&…...

提供充电桩运维托管的服务商:选择标准与服务内容解析

一、引言据中国电动汽车充电基础设施促进联盟&#xff08;EVCIPA&#xff09;数据显示&#xff0c;截截至2026年2月底&#xff0c;我国电动汽车充电基础设施&#xff08;枪&#xff09;总数达到2101.0万个&#xff0c;同比增长47.8%。其中&#xff0c;公共充电设施&#xff08;…...

LaTeX-PPT:如何在3分钟内将专业数学公式融入PowerPoint演示

LaTeX-PPT&#xff1a;如何在3分钟内将专业数学公式融入PowerPoint演示 【免费下载链接】latex-ppt Use LaTeX in PowerPoint 项目地址: https://gitcode.com/gh_mirrors/la/latex-ppt 还在为PowerPoint中编辑复杂数学公式而头疼吗&#xff1f;LaTeX-PPT这款开源插件彻底…...

正交设计实战指南:从理论到最优方案验证

1. 正交设计入门&#xff1a;从概念到实战价值 第一次接触正交设计是在五年前的一个电机工艺优化项目上。当时面对12个关键参数、每个参数4-5个水平的选择困境&#xff0c;如果做全面实验需要3125组数据&#xff0c;而项目周期只允许做50组实验。正是正交设计让我们用36组实验…...

大语言模型如何赋能数据工程:dbt-llm-agent架构解析与实践指南

1. 项目概述&#xff1a;当数据工程师遇上大语言模型最近在数据圈里&#xff0c;一个开源项目pragunbhutani/dbt-llm-agent引起了我的注意。作为一名和数据管道、dbt&#xff08;Data Build Tool&#xff09;打了多年交道的工程师&#xff0c;我第一眼看到这个标题就嗅到了一丝…...

【51单片机倒计时清翔的板子2片573驱动数码管】2023-10-28

缘由51单片机模拟定时炸弹_编程语言-CSDN问答 用矩阵键盘在数码管上输入数字作为炸弹的倒计时&#xff0c;独立键盘控制倒计时开始&#xff0c;暂停&#xff0c;提前引爆键&#xff0c;倒计时最后三秒蜂鸣器随倒计时响&#xff0c;求源码。 以下代码演示相关功能实现。 #inc…...

Go语言WebSocket服务器tocket:轻量级高性能实时通信方案

1. 项目概述&#xff1a;一个轻量级、高性能的WebSocket服务器 最近在折腾一个需要实时双向通信的物联网项目&#xff0c;传统的HTTP轮询方案在延迟和服务器开销上都不太理想&#xff0c;WebSocket自然就成了首选。在技术选型时&#xff0c;我习惯性地会去GitHub上搜罗一番&…...

Arm Neoverse CMN-650架构与缓存一致性协议解析

1. Arm Neoverse CMN-650架构概述在现代多核处理器设计中&#xff0c;缓存一致性互连网络是决定系统扩展性和性能的关键组件。Arm Neoverse CMN-650作为第二代Coherent Mesh Network解决方案&#xff0c;采用了创新的分布式目录协议和优化的传输机制&#xff0c;能够支持多达12…...