003-数据开发
文章平均质量分 72
经典SQL题
大数据_苡~
大数据领域 | 数据仓库建设 | 数据模型设计 | 实时计算 | 数据开发 | 数据中台 | 数据治理
展开
-
Hive SQL 开发指南(三)优化及常见异常
使map的输出数据更均匀的分布到reduce中去,是我们的最终目标。由于Hash算法的局限性,按key Hash会或多或少的造成数据倾斜。大量经验表明数据倾斜的原因是人为的建表疏忽或业务逻辑可以规避的。在此给出较为通用的步骤:1、采样log表,哪些user_id比较倾斜,得到一个结果表tmp1。由于对计算框架来说,所有的数据过来,他都是不知道数据分布情况的,所以采样是并不可少的。2、数据的分布符合社会学统计规则,贫富不均。倾斜的key不会太多,就像一个社会的富人不多,奇特的人不多一样。原创 2024-03-05 15:06:43 · 1922 阅读 · 1 评论 -
Hive SQL 开发指南(二)使用(DDL、DML,DQL)
建表注意事项CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)LIKE 允许用户复制现有的表结构,但是不复制数据COMMENT可以为表与字段增加描述ROW FORMAT用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。原创 2024-03-01 14:18:50 · 1536 阅读 · 0 评论 -
Hive SQL 开发指南(一)数据类型及函数
在大数据领域,Hive SQL 是一种常用的查询语言,用于在 Hadoop上进行数据分析和处理。为了确保代码的可读性、维护性和性能,制定一套规范化的 Hive SQL 开发规范至关重要。本文将介绍 Hive SQL 的基础知识,并提供一些规范化的开发指南,帮助您高效地编写 Hive SQL 查询。本系列分为Hive SQL 开发指南(一)数据类型及函数Hive SQL 开发指南(二)使用(DDL、DML,DQL)Hive SQL 开发指南(三)优化及常见异常。原创 2024-03-01 10:54:14 · 1594 阅读 · 0 评论 -
Hive常用函数总结一——字符串函数与日期/时间函数
一、字符串类函数说明:对字符进行拼接、截取、去空格如:concat、concat_ws、substring、trim、lpad、rpad、split、find_in_set1.1 concat说明:拼接字符SELECTCONCAT(user_name,dt)FROMuser_view-- 输出:"welsh20200801""Albert20200801"1.2 concat_ws说明:拼接字符且分割SELECTCONCAT_WS(':',use...原创 2021-09-29 18:48:18 · 547 阅读 · 0 评论 -
Hive常用函数总结二——开窗函数
窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组和排序功能。窗口函数最重要的关键字是partition by和order by具体语法如下:XXX over (partition by xxx order by xxx)over()里面的 partition by 和 order by 都不是必选的,over()里面可以只有partition by,也可以只有order by,也可以两个都没有,需根据需求灵活运用。1.sum、avg、min、max创建表create ...原创 2021-09-29 19:54:44 · 1338 阅读 · 0 评论 -
SQL解析嵌套json数组,直接看例子
SQL解析嵌套json数组原创 2022-06-27 20:26:49 · 7320 阅读 · 1 评论 -
常考SQL场景之小鹏汽车充电每辆车连续快充次数
今天手撕小鹏汽车每辆车连续快充次数题场景小鹏汽车充电有两种类型,快充、慢充,有如下数据:车辆ID 充电时间 充电类型 a 20200601 19:21:09 1a 20200611 11:30:09 1a 20200621 21:10:09 0a 20200701 19:01:09 1a 20200701 20:30:09 1a 20200701 21:00:09 0a原创 2021-10-12 17:02:12 · 882 阅读 · 2 评论 -
经典SQL之留存率
什么是留存率n日留存率 = 第n天还在登录的用户数/新增的用户数如:假如某日新增了100个用户,第2天登录了50个,则第2天留存率为50/100=50%,第3天登录了30个,则第3天留存率为30/100=30%,以此类推,第7天登录了10个用户,则7日留存率就是10/100=10%。表drop table if exists tmp_db.user_login_details;create table tmp_db.user_login_details (Userid int -- 用户ID原创 2021-10-09 18:42:40 · 3564 阅读 · 0 评论 -
经典SQL之连续3天登陆
经典SQL1——连续3天登陆无论大厂还是小厂,在SQL题面试中,面试官都很喜欢问连续3天登陆,那么今天就来手撕一下建表在Hive中简单建表drop table if exists user_login_details_last_3_day;create table user_login_details_last_3_day (Userid int ,login_date date)插入临时数据简单插入几条测试数据insert overwrite table user_login_de原创 2021-10-08 11:19:19 · 8150 阅读 · 0 评论