Home

漫谈数据血缘系统

微服务间调用链路要清晰,才能方便的进行后续的架构升级、核心链路演练等。大数据里的表/任务之间也是如此,同时由于任务量大,血缘系统的设计更加重要。 这篇笔记记录下我理解的数据血缘系统。 1. 使用场景 大数据很多功能都会依赖血缘,例如: 数据开发:任务的修改、下线,影响产出表的操作,依赖血缘周知下游 数据治理:通过血缘分析数据间的冗余依赖、是否存在依赖环 数据资产:计算表的使用热度(血缘的入度、出度)、展示字段来源 数据质量:字段质量的归因分析(上游) 因此数据血缘系统应当作为大数据的基石来建设。 2. 如何评价 血缘做的好坏,评价标准有三点: 准确率:表关系(输入、输出)、字段关系 覆盖率:覆盖的任务、存储类型 响应时间:血缘数据复杂,需要...

Read more

如何用 ANTLR 解析和重写SQL

1. 简介 ANTLR(ANother Tool for Language Recognition)1是一个强大的 parser generator,可以根据规则生成 parser 代码,用于读取、处理、执行和翻译结构化或二进制数据。Hive/Trino/Spark/Flink/Doris/… 等常见大数据组件都用到了 ANTLR. 如果要实现 C++ 代码的解析器,需要提取出其中的变量、常量、关键字、注释;解析 JSON ,需要提取出{} [] '";解析 SQL、Protobuf 也是如此。 解析完成后,还需要能够遍历结果树,判断语法是否正确。 ANTLR 使用通用的方式解决了这一点,并对应分成两个步骤: LEXER: 输入流解析为 tokens PARSER: t...

Read more

DolphinScheduler笔记之10: quartz

之前讲工作流的启动,源头是t_ds_command表,这篇笔记讲讲该表数据是如何写入的,也就是 Crontab 的生效过程。 1. quartz 简单的 crontab 实现方式很多,java.util.Timer、spring @Scheduled、akka scheduler etc.。 quartz1也是一个调度框架,可以集成在 java 程序里,好处是持久化和分布式。 我觉得 quartz 里最重要的概念有三个: JobDetail: 用户继承该基类实现自己的任务类,执行具体任务 Trigger: 任务触发器,比如一次性触发、Crontab 触发等 Scheduler: 调度器,接收 JobDetail,按照 Trigger 调度 JobBuilder...

Read more

《太白金星有点烦》书摘

“如是我闻。这件事佛祖已经跟玉帝讲过,两位都很重视。” 长庚微微眯眼:“连兜率宫都知道了,那岂不是整个天庭都传遍了?后来呢?”太上老君拿袍袖假意一挡,却挡不住双眼放光:“这事我只跟你讲,你可别告诉别人。”不待李长庚答应,太上老君迫不及待道:“我听南天门传来的消息说,奎木郎一见奸情败露,生怕玉帝责罚,直接挟了玉女下凡私奔去了,这个没确认,别瞎传啊。” 这种涉及高层的博弈,不必点破。玉帝只是送了一尾锦鲤,佛祖也只是转达给观音。两位大能均未置一词,全靠底下人默会。以观音之聪睿,自然明白上头已经谈妥了,但这种交换不能宣诸纸面。所以得由她出面,认下这个既成的事实,慧眼识猪,成全猪刚鬣。 只是李长庚没想到,玉帝的手法更加高明,只是送了条锦鲤给佛祖,说是与佛有缘。锦鲤乃...

Read more

《窦占龙憋宝 - 七宝八金刚》书摘

古代有饭铺酒馆、茶楼妓院、赌坊酒肆,但说书场在我看来,却是一个不一样的所在,有教化世人的作用。 只因听书的人三教九流,有钱没钱的,卖苦力的、挣大钱的、走江湖的,鱼龙混杂。 这世上有诸多不平事,老百姓听多了,也都有疑问: “纣王无道,多少忠臣扶保;文王有德,却遭食子之殃;妲己祸国,受的是女娲娘娘差派;姜后贤德,剜眼烙手而亡;奸党费仲尤浑,死后为天上星宿;忠臣梅伯比干,难逃炮烙挖心之殇” 这个时候,就需要说书人了,所以说书里最讲究一个起承转合、前因后果。嬉笑怒骂插科打诨间讲个因果循环,使人敬畏这报应不爽,因缘际会。不为别的,只因信的人多了,道理才是道理。 摘了部分书抄: 天天坐着洋车过来,掐着点儿到书场子,甭管台底下坐了多少听书的,等得如何心急火燎,先生也是不慌不...

Read more

《崔老道传奇》书摘

正儿八经的故事内容就不记了,这么一本书,愣是给人看饿了! 摘抄了一部分: 是说祥德斋的枣泥儿馅儿白皮儿点心好吃,那是道光年间就卖出了名的老字号。豆沙馅儿、什锦馅儿的虽说也好,最好吃的可还得说是枣泥儿点心,用的是绥德红枣,带虫子眼儿的全拣出去扔了,先煮后炒,拌上花生油和白砂糖,又甜又沙口,在天津卫久负盛名。 他家的芝麻烧饼最好吃,用麻酱分层,揪出面剂子,拿起来往芝麻笸箩里一按,单面沾上芝麻,放进炉膛里烤,刚出炉的还挺烫,外表焦脆、内里绵香 门口左右两条布招,分别写着“面劲入口滑,汤泼香十里”。不是人家吹牛,羊肉烩面确实地道,口外的羊肉肥而不膻,炖熟了切成块,也有切片的,老汤做底,面条现抻,加上几块羊肉,放上香菜、葱花,浇上山西老...

Read more

DolphinScheduler笔记之9: 容错

1. 容错的必要性 分布式系统使用集群提高了算力,也天然需要面对和解决单机不稳定的问题,比如常说的宕机、掉盘、网络抖动等。 Jeff Dean 多年前在斯坦福有过一个分享1,其中一些数字我觉得应该是架构谨记的: Typical first year for a new cluster: ~1 network rewiring (rolling ~5% of machines down over 2-day span) ~20 rack failures (40-80 machines instantly disappear, 1-6 hours to get back) ~5 racks go wonky (40-80 machines see 50% packet...

Read more

知易行难-读《中台落地手记》

中台落地手记 : 业务服务化与数据资产化这本书在豆瓣只有6分,但读起来受益不少。主要有几个原因: 图画的清晰、好看 方便速成 自身做了几年大数据中台 读书笔记按照这几点分别总结。 1. 图 一图胜千言。虽然我的 PPT 画的难看,但是我羡慕 PPT 画的清楚的人,也赞同 PPT 文化。PowerPoint 画的清楚,往往代表着思路清晰、重点明确。有Power、有Point. 图不在于画的好看,而是在于清楚,有取舍、有重点。节取一些架构图: 大数据平台架构: 数据质量: 看这张图的时候,我一直在想数据质量平台应该是先验还是后验平台? Spark各阶段: ServiceMesh: MyCat: Consul: Apache Atlas: ...

Read more