IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 琐碎知识点记录 -> 正文阅读

[大数据]琐碎知识点记录

一、SQL(HIVE)


1、顺序

?


2、去重

  • distinct(对所有字段去重),会有时间损耗

  • group by(同样去重效果,大数据量效果比distinct好)


3、时间转换

时间戳:1627749129122,时间:2021-08-01 00:32:09。参考链接:时间转换

  • 13位时间戳转化成时间(年月日时分秒)

select from_unixtime(cast('1627749129122'/1000 as bigint))
--from sys

??运行结果:

?


  • 时间转化成10位时间戳

select unix_timestamp('2021-08-01 00:32:09')

运行结果:

?


?4、排序

select row_number() over (partition by a,b order by admin_time desc) as row_desc

?根据a,b分组后,按照admin_time倒序排列,此时若查询row_desc=1,则为a,b分组后admin_time最近的一条数据

?

?

5、特殊处理

  • 替换空格trim(value)

  • 字符串连接concat(value1,value2,value3,...)

  • 替换空值nvl(value,''),和concat一起使用,避免连接的字段中,某个字段为空值时连接后的字符串输出为空值

注:nvl百度详解

例:

select nvl(sum(rulescore),0) from zwjc_graderule where rulecode='FWTD';
select concat(nvl(a.`理由`,''),nvl(a.`违规时间点`,''),nvl(a.`违规内容`,'')) as `违规情况` from a 
where dt='{{ds}}' and from_unixtime(cast(admin_time/1000 as bigint),'yyyy-MM-dd')='{{ds}}'
  • 替换字符串

select replace('我叫小花,我喜欢唱歌,你叫什么','叫','是') as content

运行结果:

  • ?查找字符所在位置

instr(str,substr) 返回substr在str第一次出现的位置(从1开始计数),如果substr在str中不存在则返回0

select instr(replace('我叫小花,我喜欢唱歌,你叫什么','叫','是'),',') as content

运行结果:

  • 截取字符串

语法: substr(string A, int start, int len)

返回值: string

说明:返回字符串A从start位置开始,长度为len的字符串

参考链接:substr基础

select substr('我叫小花,我喜欢唱歌,你叫什么',0,instr(replace('我叫小花,我喜欢唱歌,你叫什么','叫','是'),',')) as content
select substr('我叫小花,我喜欢唱歌,你叫什么',0,5) as content

两个语句返回结果一样,如下:

?

?

?6、条件

?rlike用法:

select name from a where name rlike '张|李|郝.*'

参考链接:like和rlike

?

7、获取json存储数据

原始数据示例:

字段名称:submit_info,字段内容:如下

{"param":{},"action":15115,"imInfo":{"buyerId":0,"hitText":"08465879","hitTime":1628059737667,"sellerId":00000000,"buyerName":"未知","sellerName":"好藏","sellerText":"一八一零八四六五八七九","buyerIdMask":0,"conversation":[{"time":1628059719042,"content":"怎么付款","userName":"未知","imUserType":"BUYER","contentType":"TEXT"},{"time":1628059732311,"content":"181","userName":"好藏","imUserType":"SELLER","contentType":"TEXT"},{"time":1628059737667,"content":"66666679","userName":"好藏","imUserType":"SELLER","contentType":"TEXT"}],"conversationMask":[{"time":1628059719042,"content":"怎么付款","userName":"未知","imUserType":"BUYER","contentType":"TEXT"},"actionDesc":"命中违规","recallType":401,"auditHistory":{"label":"首次审核","level":"info"},"rejectReason":{"value":[{"label":"","value":"17","children":[{"label":"","value":"1701","children":[{"label":"","value":"170101"}]}]}],"reason":["私信内容有私单倾向"]},"subRecallType":0,"thirdDealInfo":null,"baseStaticInfo":{},"highLightWords":[],"recallTypeDesc":"私下交易","baseDynamicInfo":{},"subRecallTypeDesc":""}

  • 获取两人对话
get_json_object(submit_info,'$.imInfo.conversation')
  • 获取对话中的内容
get_json_object(submit_info,'$.imInfo.conversation.contentType')
  • 获取对话中第一条对话
get_json_object(submit_info,'$.imInfo.conversation.contentType[0]')

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:53:50  更:2021-08-06 09:56:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 20:16:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码