
hive
文章平均质量分 61
hive
orange大数据技术探索者
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sql 求中位数
目录1.问题1.2数据准备2.问题解决思路2.1问题12.1.1 方法一 求中间值序号2.1.2 方法二 正反排序2.2问题22.1.1 方法一 求中间值序号2.1.2 方法二 正反排序最优解1.问题1.求一个页面用户曝光次数的中位数2.求多个页面用户曝光次数的中位数1.2数据准备CREATE TABLE IF NOT EXISTS test_exposure_count ( page STRING ,uid STRING ,c STRING);INSERT O原创 2021-07-08 18:10:06 · 843 阅读 · 0 评论 -
sql语法注意事项
BETWEEN AND 取值包括两边界 相当于>= and <=原创 2019-06-19 15:58:51 · 374 阅读 · 0 评论 -
join原理解析
join时要注意交叉join的问题,部分场景会导致数据量翻倍典型场景:点击某一商品后下单,要对用户点击商品进行group by或者distinct,否则用户对商品进行多次操作,会导致订单翻倍inner join的流程以下两条sql是一样的执行逻辑,也就是说两种写法完全一致SELECT t2.* ,UNIX_TIMESTAMP(t2.create_time)FROM dwd_t_action t1JOIN dwd_t_order t2ON t1.uid =原创 2021-03-09 12:39:30 · 988 阅读 · 1 评论 -
sql行列转换
目录列转行一列转多行LATERAL VIEW扩展行转列多行拼接一列多行转多列列转行一列转多行核心函数:explode(数组类型)搭配:一般和split('a,b',',')结合使用,因为我们数据库中一般保存的是String类型,需要转化为数组类型SELECT explode(split('外语,数学,语文',','));但是 explode 有一个缺点,他只能包含 explode 的字段SELECT explode(split(学科,',')),name FROM t_demo;当我包原创 2021-06-11 16:23:03 · 4028 阅读 · 0 评论 -
sql正则
数字regexp '^[0-9]+$' 以下几个经常有人用但是不准确,比如SELECT '123sdc4567' REGEXP '[^0-9.]'; 判断为trueSELECT '123sdc4567' REGEXP '[0-9]+$'; 也判断为true原创 2021-08-26 11:18:04 · 558 阅读 · 0 评论 -
sql 聚合函数对 null 的处理
聚合函数计数类型(count)SELECT COUNT(*)FROM ( SELECT 1 AS num UNION ALL SELECT 1 AS num UNION ALL SELECT 2 AS num UNION ALL SELECT NULL AS num ) ;SELECT CO原创 2021-09-03 14:31:46 · 799 阅读 · 0 评论 -
sql执行顺序
书写顺序select - from - where - group by - having - order by执行顺序from - where - group by - having - select - order bywhere 从右到左 过滤掉最大数量记录的条件放在末尾group by 从左到右 需要过滤的尽量使用where,这样就能group by 更少的数据,避免grou...原创 2019-01-27 17:35:05 · 1262 阅读 · 0 评论 -
group by后乱序问题原因和解决
group by后乱序问题原因和解决1.问题求用户的访问轨迹以特殊分隔符隔开(已经有数仓表记录用户访问顺序)## 模仿一下数仓用户访问顺序表CREATE TABLE IF NOT EXISTS tmp_t( uid STRING, page_id STRING, rn BIGINT) ;insert overwrite table tmp_t values ('u-1057','3305','1'),('u-1057','3342','原创 2021-08-02 16:25:19 · 3907 阅读 · 0 评论 -
group by 和 case when 的组合使用
group by 和 case when 的组合使用今天有个人问了一个group by 和 case when 使用时为什么会报错的问题,大致原因和解决方案就是下面会遇到的问题SELECT uid ,SUM(pay_money) AS pay_money ,CASE WHEN STATUS = 1 THEN SUM(pay_money) END AS finish_pay_moneyFROM test_orderGROUP原创 2021-09-03 11:11:15 · 4074 阅读 · 0 评论 -
count各个用法
count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计我在集群找了一个表试了一下,结果差距不是很大,因为执行时间会受集群资源的影响,所以看下具体的执行步骤先看结果,count(*)执行时间26sselect count(*)from ods.baseorganizeMR程序:S...原创 2019-01-26 23:07:33 · 2054 阅读 · 0 评论 -
窗口函数总结
第1类Row_Number,Rank,Dense_Rank排序窗口函数,不过多介绍第2类SUM、AVG、MIN、MAX作用之一是求第一行的数据不断往后累加得出1行1+2行1+2+3行1+2+3+4行此类可以附带参数选择特定的多少行PRECEDING:往前FOLLOWING:往后CURRENT ROW:当前行UNBOUNDED:起点UNBOUNDEDPRECEDING 表示从前面的起点UNBOUNDED FOLLOWING:表示到后面的终点第3类NTILE:用于原创 2020-12-02 11:23:43 · 312 阅读 · 0 评论 -
Spark常用函数
Hive常用函数总结,适用于符合SQL规范的数据库和Spark等分析引擎原创 2022-06-20 17:35:00 · 1200 阅读 · 0 评论 -
Hive常用语句以及几种表模型
创建数据库数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.dbcreate database db_hive;增加if not exists判断create database if not exists db_hive;创建一个数据库,指定数据库在HDFS上存放的位置create database db_hive2 location '/db_hive2.db';查询数据库show databases;show databases like 'db_hiv原创 2020-07-09 17:19:02 · 280 阅读 · 0 评论 -
hql语句
95001,李勇,男,20,CS95002,刘晨,女,19,IS95003,王敏,女,22,MA95004,张立,男,19,IS95005,刘刚,男,18,MA95006,孙庆,男,23,CS1,数据库2,数学3,信息系统4,操作系统5,数据结构6,数据处理95001,1,8195001,2,8595001,3,8895001,4,7095002,2,909...原创 2019-01-23 15:08:06 · 353 阅读 · 0 评论 -
Hive调优
Hive的数据存储1、Hive中所有的数据都存储在 HDFS 中,没有专门的数据存储格式(可支持Text,SequenceFile,ParquetFile,RCFILE等)Mysql有自己的数据存储格式,如window的mysql 表的存储格式是扩展名为 .frm的文件2、只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。3、Hive 中包含以下数据...原创 2019-01-18 13:21:42 · 527 阅读 · 0 评论 -
Hive数据类型
目录基本数据类型集合数据类型类型转化基本数据类型Hive数据类型Java数据类型长度例子TINYINTbyte1byte有符号整数20SMALINTshort2byte有符号整数20INTint4byte有符号整数20BIGINTlong8byte有符号整数20BOOLEANboolean布尔类型,true或者falseTRUE FALSEFLOATfloat单精度浮点数3.14159DOUBLEdoub原创 2020-07-09 16:44:18 · 162 阅读 · 0 评论 -
Hive简介以及Hive架构
目录什么是hIVE为什么用HiveHive和其他数据库对比Hive架构运行机制什么是hIVE基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能作用:用于解决海量结构化日志的数据统计本质:将HQL转化成MapReduce程序Hive处理的数据存储在HDFSHive分析数据底层的实现是MapReduce执行程序运行在Yarn上为什么用Hive优点:操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。避免了去写MapReduce原创 2020-07-09 16:27:56 · 716 阅读 · 0 评论 -
hive之java api
import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.security.UserGroupInformation;import java.io.IOException;import java.security.PrivilegedAction;import java.sql.*;public class HiveUtil { private static Configuration cfg原创 2020-05-28 12:34:06 · 209 阅读 · 0 评论 -
hive五 数据倾斜问题
5.1 空值数据倾斜场景:如日志中,常会有信息丢失的问题,比如全网日志中的user_id,如果取其中的user_id和bmw_users关联,会碰到数据倾斜的问题。解决方法1: user_id为空的不参与关联Select * From log aJoin bmw_users bOn a.user_id is not nullAnd a.user_id = b.user_idUnion...原创 2019-01-25 14:42:05 · 251 阅读 · 0 评论 -
HIVE自定义UDF/UDTF/UDAF
UDF输入一行数据输出一行数据。解决问题描述想要比较两个逗号分隔的字符串是否相同。-使用方法如果ignoreNullFlag是1,则两个字符串都是空算相等,如果不是1,算不等 add jar /home/mart_wzyf/zhuhongmei/plist_udf_udaf.jar; CREATE TEMPORARY FUNCTION compareStringBySplit AS ...原创 2019-01-24 16:15:40 · 272 阅读 · 0 评论 -
hive-常见运算符和函数
关系运算符•等值比较: =•不等值比较: &lt;&gt;•小于比较: &lt;•小于等于比较: &lt;=•大于比较: &gt;•大于等于比较: &gt;=•空值判断: IS NULL•非空判断: IS NOT NULL•LIKE比较: LIKE•JAVA的LIKE操作: RLIKE•REGEXP操作: REGEXPNOT RLIKE介绍下加粗的,其他的觉得应该没必要介...原创 2019-01-24 15:39:57 · 1680 阅读 · 0 评论