普通视图

发现新文章,点击刷新页面。
昨天以前TimeMachine Notes

Doris 物化视图

作者 时光机
2022年11月4日 20:32

前言

物化视图(Materialized View)本质是一种预计算,即把某些耗时的操作(例如JOIN、AGGREGATE)的结果保存下来,以便在查询时直接复用,从而避免这些耗时的操作,最终达到加速查询的目的。其作为一种检索加速技术,应用在许多 olap 引擎中,本文以 Doris 为例,主要介绍 Doris 的物化视图实现、应用场景以及如何查看是否命中物化视图、如果没有命中的话,原因又是哪些。

druid集群运维

作者 时光机
2022年7月13日 19:08

前言

作业帮内部营销中台(以下简称 IMP)承载着整个公司各个 app 端的流量分发,对智能化运营,精细化的营销广告投放起着至关重要的作用。对这些流量数据的链路转化进行有效的分析更是重中之重。

IMP 的整个链路流量数据处理采用的 flink + druid,并强依赖于 druid 提供上层的 BI,监控平台,算法接口,策略平台数据服务等线上应用。作为内部最大的 druid 集群,如何保证其能稳定的支撑海量数据的摄入与查询就成为了一个大问题。本来主要记录在对 druid 集群运维过程中碰到的一些问题以及优化。

doris/starrocks 碎碎念

作者 时光机
2022年7月13日 11:36

前言

2020 年末入职作业帮,接触到了 doris,当时还是 doris on es,后来随着业务的发展,从 doe 切到 dorisdb,再到 starrocks,期间做过了很多基础测试(包括离线,实时摄入,doris 本身的数据集成工具,apache seatunnel 的 doris connector 等),也碰到过很多慢查询问题,内部的广告用户画像平台也是基于 starrocks 进行构建的。本文主要在回忆下碰到的问题吧,对一些至今仍未解决的问题也会留下自己的猜想,希望后面有机会可以在验证吧。

之前的一些学习目标和计划

作者 时光机
2022年4月7日 16:47

前言

好久没有更新过博客了,去年接触了很多大数据技术相关的东西,也做过一些基准测试。但是很多东西依然了解的相对浅显,只停留在使用层面,想下笔却又不知道从何写起。2021 年结束的时候曾列过一些计划,也算是学习过程中的一份指南吧。

druid 离线摄入任务优化

作者 时光机
2021年10月11日 18:32

前言

最近 Yarn 队列资源收缩后,部分流量数据的 druid 离线摄入任务执行时间过长,经常由于申请不到 container 导致并发过低或者 reduce task 频繁失败重试,耗时 6~8h 才能完成。由于本身已经是 T+1 数据,离线摄入执行过长对下游使用方造成了很不好的使用体验。本文主要记录如何定位问题及如何解决。

基于 gitbook 搭建笔记站点

作者 时光机
2021年8月19日 10:34

前言

目前使用 hexo+github pages 构建博客站,但是作为笔记管理系统有两个缺点:

  1. 笔记是学习一个事物的过程,记录可能比较随意。博客是学习一个事物并实践之后得到的思考。放到同一个主站点下面,即使打了 tags,给人的感觉也比较混乱。
  2. hexo 笔记分层管理不太方便,需要自己新建 tab,并逐级构建章节文件夹,并且新建的 tab 对目录集成不是很好。

本文主要记录 gitbook 的搭建集成,参考了 打造完美写作系统:Gitbook+Github Pages+Github Actions

Prometheus + Grafana 监控 - Kafka

作者 时光机
2021年8月1日 21:37

前言

最近工作中越来越感受到监控对于查找问题的重要性,一个完备的链路监控对问题定位和趋势分析提效非常高。比如一条实时数据流,从数据采集到消费到入库各个阶段都有一些可观测性的指标(binlog 采集延迟,kafka-lag,读写 QPS,max-request-size,offset 趋势)。如果 kafka-lag 比较小并且 topic 写 QPS没打太高,但是数据有延迟,这里大概率就是上游采集的问题。
这里借用 prometheus 官网的话介绍监控的作用。

  • 长期趋势分析:通过对监控样本数据的持续收集和统计,对监控指标进行长期趋势分析。例如,通过对磁盘空间增长率的判断,我们可以提前预测在未来什么时间节点上需要对资源进行扩容。
  • 对照分析:两个版本的系统运行资源使用情况的差异如何?在不同容量情况下系统的并发和负载变化如何?通过监控能够方便的对系统进行跟踪和比较。
  • 告警:当系统出现或者即将出现故障时,监控系统需要迅速反应并通知管理员,从而能够对问题进行快速的处理或者提前预防问题的发生,避免出现对业务的影响。
  • 故障分析与定位:当问题发生后,需要对问题进行调查和处理。通过对不同监控监控以及历史数据的分析,能够找到并解决根源问题。

本系列主要用来记录工作中常见系统的监控实现,指标含义以及如何通过监控定位问题并在相关任务挂掉后如何和给下游业务一个较准确的预估恢复时间。大部分借助开源实现。

Mac-Homebrew-常见问题

作者 时光机
2021年5月15日 21:01

前言

Homebrew 是 Mac 下方便快捷的包管理器。但是有时候因为其版本迭代等,导致 brew update 执行后各种依赖报错或者 Warning。emmm,碰到好几次了,并且由于网上解决办法参差不齐,每次解决浪费了大量时间。遂记录下每次的解决方法。建议遇到问题去查看官方 issue

Elasticsearch 与 Hive 集成

作者 时光机
2021年1月12日 22:11

前言

工作上存在将 Hive 上的数据刷到 ES 的场景,首先想到的是自己写程序读取 Hive 上的数据,经过业务逻辑处理在写回到 ES 上,不过请教了下,知道了 ES 本身已经可以和 Hive 集成。只需添加对应的 jar 包,在 hive 上建立与 ES 关联的外部表,即可使用 HQL 查询写入 ES 索引库。具体使用请见官方文档 ,本文只举个简单例子及介绍下主要的参数。

多个 git 账户配置 SSH

作者 时光机
2020年12月26日 22:01

前言

个人代码维护在 github,而目前大多数公司代码维护在私有 gitlab。这是两套不同的账户体系,并且一般私有 gitlab 的 commit email 不能更改,git 全局的用户名和邮箱只能有一个。这就导致了如下问题 → 不管配置了几个 SSH pub key,SSH 认证最终走的都是 global 的用户名的认证(比如你全局的用户是 github 的,那么你提交 gitlab 就会报 Permission Denied)。本文主要用来解决此问题。
其实多个 SSH 配置的话都是这样搞的,配个路由就好了。

❌
❌