自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 udaf开发小结

udaf开发小结

2022-06-30 19:42:35 502 1

原创 《设计模式》--学习王争设计模式课总结

#设计模式学习##原则单一职责开闭原则:对扩展开放,修改关闭里斯替换:用来指导继承关系中子类该如何设计,子类的设计要保证在替换父类的时候,不改变原有程序的逻辑及不破坏原有程序的正确性。接口隔离控制反转KISS、YAGNI 简单DRY 提高复用迪米特法则:高内聚、松耦合创建型设计模式主要解决“对象的创建”问题,结构型设计模式主要解决“类或对象的组合”问题,那行为型设计模式主要解决的就是“类或对象之间的交互”问题。设计模式要干的事情就是解耦,也就是利用更好的代码结构将一大坨代码拆

2022-03-01 16:51:27 326

原创 hive SQL优化总结

1.行过滤尽早尽量过滤数据,减少每个阶段的数据量。例如两个表join,把where筛选条件写到单表子查询里再进行join可减少每个表的读取数据量。2.列裁剪例如某表有a,b,c,d,e五个字段,但是我们只需要a和b,那么请用select a,b from table 而不是select * from table。3.分区裁剪在查询的过程中减少不必要的分区,即尽量指定分区,这一块hive分区表严格模式有强制措施。4.减少job数巧妙的使用 UNION ALL 减少 job 数量

2022-02-28 16:51:34 1643

原创 使用groupingsets函数优化数仓离线计算性能表现、原理分析及避坑指南

1.上线该优化后任务性能表现任务执行时长:任务一:该任务为wps_android国内应用的天任务耗时截图,执行时长缩短3-4倍。该任务是天任务中最长的任务,也就是说以现在的任务流程部署情况,整体天任务执行时长缩短3倍以上。任务二:该任务为国内应用的周任务耗时截图,执行时长缩短3-4倍。任务三:该任务为数仓单个子任务中耗时最长的任务(30天活跃任务),执行时间缩短5-6倍。其中任务的执行时间包括执行hive sql查询的时间+数据写入RDS的时间。任务四:该任务为数仓月任务..

2022-02-28 16:32:13 2114

原创 使用grouping sets语法与拆分sql查询时间对比

背景:为满足业务方分析需求,数仓基础统计中存在大量多维度的指标计算。原有计算中根据不同维度拆分多个sql串行提交hive集群进行查询,多个任务在map阶段存在重复读取源数据等问题,因此引入grouping sets语法合并业务逻辑为一条sql。一次map一次reduce完成一个基础指标的统计,减少集群资源浪费。现以安卓国内版天活跃启动统计任务为例进行测试。1.sql1 按province,model维度统计source为dw的前后台启动活跃数据。sql1SELECT SOURCE,

2022-02-28 16:22:10 1477

原创 转换服务锁超时问题

时间:【2021.04.29】解决超时等待问题,更改mysql超时等待时间,去掉索引special_flag异常信息:Lock wait timeout exceeded; try restarting transaction Query这个问题是因为锁竞争超时引起的这块的update,有悲观锁,special_flag加了索引,这条语句执行的时候会锁住special_flag=0的值的记录,在这是有别的线程要修改这些记录中的某条记录,此时不能修改就会等待,而等待超过了设置的超时

2022-02-28 15:18:57 367

原创 Dolphinscheduler1.1.0 bug排查

背景:2020-06-27 21:23 左右珠海同事维护任务时,发现新提交的task一直处于‘提交成功’中,长时间未转化为‘正在运行’。排查:日志1:master api 操作日志,可见2020-06-27 21:23:39.107时 进程开始删除流程实例id为452345的任务。日志2:worker节点运行日志,2020-06-27 21:23:40.244 worker 批量仍然获取到了452345流程的一些子任务,然后处理任务时在数据库里拿不到相应任务信息报错,轮询30次后才会删除zk

2022-02-28 14:48:48 737

原创 clickhouse查询压力测试

0x00 背景目前数仓业务方的实时需求大部分都通过clickhouse集群实现,为保证电商节业务方实时数据的稳定及时输出,需对clickhouse集群进行压力测试。这里先对sql查询进行测试。现在clickhouse集群单机表和分布式表并存,单机表(目前主要在02机器上)通过机器内网ip加端口的形式进行查询,分布式表通过lb轮询分发到某一台机器进行查询。0x01 测试环境工具:locust:python开源的性能测试框架,通过官方jdbc内网连接查询资源:clickhouse 2.

2021-12-02 21:05:05 4918

原创 基于kyuubi+spark3 加速hive批计算任务

​​​0x00背景我司报表平台大量ETL任务原来采用hive on tez引擎执行批计算任务,存在资源不足执行慢等问题急需解决。经调研及测试,我们发现spark 3.0引擎在sql兼容性及执行速度等方面有巨大优化,平均执行速度是hive的2-10倍,因此我们计划通过spark3.0进行离线加速工作。0x01架构​​​​​​​​​​​​​​​​​kyuubi 1.3.0 spark 3.1.2 Scala 2.12 Submarine:Spark Sercurity 0.6.0..

2021-12-02 20:48:08 6724 4

原创 开源BI系统调研

我司近期在调研BI系统,用以丰富报表平台即席分析能力。简单调研了下当前市面上热度比较高的开源BI:superset、grafana和kibana我们已经有了,grafana和kibana用在特定场景下,superset用在基于sql的即席分析及图表、大屏展示。superset和redash功能类似选一个就行,推荐superset。DataEase比较新,主要跟doris集成度比较高,其他数据源支持有限,可持续关注,当前不建议部署。适用地址https://demo.dataease.io/

2021-12-02 11:15:44 2723

原创 基于ranger的presto账号权限管理及事件监听方案

背景:我司为解决hive数据分析慢问题,部署了presto 347版本集群。同时即席分析平台采用开源产品superset 1.0版本。为满足公司业务场景,需开发以下功能解决认证及审计等问题。jdbc等连接方式(开发同学专用)需验证ranger账号密码并通过ranger进行库表权限验证。 superset登录(数据分析同学使用)需验证公司sso账号,且superset端所有同学共用一个presto数据源连接,需单独设计权限认证方式。 开发事件监听器,用于用户SQL查询情况审计等。一、账号密码

2021-08-11 20:39:49 2308 1

Java与模式(清晰书签版)

java版设计模式 作者阎宏 本书的内容大体划分为两大部分:第一部分江苏了模式理论的起源、面向对象的设计原则;第二部分内容则是对具体的设计模式的讲解。

2017-12-01

空空如也

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

TA关注的人

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