自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SKY_02的博客

随缘写博客

  • 博客(12)
  • 收藏
  • 关注

原创 Trino(Presto)插入hive表,小文件优化使用到的session参数

Trino(Presto)插入hive表,小文件优化使用到的session参数

2022-10-05 17:39:48 1975 1

原创 log4j2日志发送到Kafka,log4j2.properties文件中KafkaAppender参数(如bootstrap.servers)的写法

背景一些工具(如hive)可以借助log4j2把一些信息(如血缘关系)发送到kafka,但是用到的log4j2文件格式为properties,不方便大改为XML、YAML等格式,因此要在现有的properties文件中增加KafkaAppender。但我在官网没有找到KafkaAppender配置bootstrap.servers、timeout.ms等kafka参数的方法,后来通过各种渠道找到了配置方法,在此记录。如果有朋友在官网找到properties文件的官方说明,烦请告知,非常感谢~配置方式

2021-10-14 11:11:13 1310

原创 抢红包算法之线段切割法的python简单实现

抢红包算法详解来源于【程序员小灰】的文章:https://mp.weixin.qq.com/s/AIE33sdT2QI6UL8cs1kJCQ以下为python简单实现:import randomfrom decimal import Decimaldef qhb(money: float, num: int) -> list: """抢红包算法 - 线段切割法。传入参数:红包金额(单位:元)money、红包个数num""" if num <= 0:

2021-02-20 17:27:35 578

原创 HiveSQL、SparkSQL数据倾斜解决思路及示例

数据倾斜常见特征同一个stage的task中,有个别的task执行时间明显比其他的要长得多,整体stage临近结束但一直卡着很长一段时间。整体任务数据量不大,经常OOM(内存溢出)。即使通过参数增大了内存,已经比一般的任务要大得多了,而且减少了每个task处理的数据量,依然无济于事。起因shuffle阶段key的分布不均,单个task读取数据过多,导致执行时间变长,甚至撑爆内存。HiveSQL或SparkSQL会引起shuffle的操作:reduce join、group byreduce

2021-01-29 17:42:17 836

原创 HiveSQL、SparkSQL数据倾斜优化示例(join不需要保留异常数据的场景)

原逻辑select m1.id ,m1.addtime ,m2.id ,m2.updatetimefrom( select id ,addtime ,m2_id from test.test_table_1 t) m1left join( select id, updatetime from test.test_table_2 --里面不存在id为0的数据) m2

2021-01-29 17:35:00 191

原创 HiveSQL、SparkSQL数据倾斜优化示例(join需要保留异常数据的场景)

-- 原逻辑select m1.id ,m1.addtime ,m2.id ,m2.updatetimefrom( select id ,addtime ,m2_id from test.test_table_1 t) m1left join( select id, updatetime from test.test_table_2 --里面存在id为0的数据) m2

2021-01-29 17:27:37 267

原创 HiveSQL、SparkSQL数据倾斜优化示例(groupby带有count(distinct)的场景)

原逻辑select t.col_a ,count(1) as cnt ,count(distinct t.userid) as userid ,count(distinct t.shopid) as shopid ,sum(t.amount) as amountfrom test.test_table_1 tgroup by t.col_a还原hive的count(distinct)优化实现在hive3.0及以上版本,设置参数:【set hive.op

2021-01-29 17:00:27 1036

原创 HiveSQL、SparkSQL数据倾斜优化示例(groupby没有count(distinct)的场景)

当前一些版本SQL引擎(Hive3.0以上、Spark2.X),group by的优化做得已经很好了,基本不怎么需要额外优化,以下可当作是优化原理解析。两种方法原理相近,都是通过随机数把key尽可能均匀分摊到不同的分区中,通过多次的操作完成聚合。随机数双重聚合给原group by的列加上cast(rand() * N as int)进行第一次聚合,然后对子查询再做一次聚合HiveSQL加参数:set hive.groupby.skewindata=true;-- 示例前提(后面的示例会重新.

2021-01-29 16:49:01 528

原创 Spark SQL实现遍历带父子id的树状结构表数据,生成带层级关系的维表数据

整体思路:准备好源头数据,主要保留结点id和对应的父结点id。获取根节点数据,定为第1级节点数据,保存该层级数据并做好标记。以最新一级的节点数据,以结点自身id关联源头数据的父结点id,关联出来的数据定为新一级的数据,保存该层级数据并做好标记。不断重复第3步骤,直到关联不出数据(关联出来的数据行数为0)。以上步骤保存的数据,使用UNION ALL进行整合插入到表中。插入表时可以留意是否...

2020-01-23 15:19:19 4127

原创 HiveQL迁移至Spark SQL入门示例(PySpark版)

目录一、示例HiveQL二、迁移至pyspark三、Linux执行命令:四、查看报错方式一、示例HiveQLcreate table test.test_20190601_1asselect '${date}${site}${year}${month}${day}${site}' as data_date;create table test.test_20190601_2asse...

2019-05-28 21:59:17 1336

转载 ETL架构师面试题(ETL知识梳理)

转载来源:https://blog.csdn.net/nisjlvhudy/article/details/44407173(为了手机阅读方便,对格式做了调整)本文中的题目来自Kimball的ETL Toolkit著作,原著未直接给出答案;中文答案是参考网友整理而得。一、总结1. What is a logical data mapping and what does it mean to...

2018-10-07 22:36:18 961 1

原创 递归CTE基本用法(Mysql、Oracle查询树状结构的结点数据)

1、太长不看版: 数据库经常存在这样一种带父子节点的数据集: id name score parent_id 1 A 11 null 2 B 22 null 3 C 33 1 4 D 44 3 5 E 55 2 6 F 66 3 7 G ...

2018-09-24 01:12:36 2839

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除