2020年8月11日

[置顶] 微博AnalysisQl动态数据视图元数据设计

摘要:前言 目前,AnalysisQl 数据视图的元数据(维度、指标、指标计算器)需要通过代码(API)或资源文件的形式硬编码,应用启动时,按照声明的顺序依次注册。这种模式下,数据视图是 静态 的,任何一项变更都需要重新升级发布应用服务,不利于服务快速迭代。 考虑到这种情况,AnalysisQl 在保留原 阅读全文

posted @ 2020-08-11 09:28 demigelemiao 阅读(138) 评论(0) 推荐(0) 编辑

2020年7月13日

[置顶] 微博大数据即席查询(OLAP)引擎实践

摘要:本文介绍的指标库、查询语言(DSL)、查询代理是我们团队自主研发的OLAP服务,在微博视频性能数据分析中取得很好地应用效果。通过技术优化的方式,在有限的计算资源范围内得到不错的性能表现,大幅降低数据接口、可视化及监控服务的开发成本。 同时,我们团队也在准备项目开源(https://github.com/weibodip/analysisql )的准备工作,有兴趣的同学可关注交流。 阅读全文

posted @ 2020-07-13 13:36 demigelemiao 阅读(736) 评论(1) 推荐(0) 编辑

2020年6月29日

[置顶] 微博数仓数据延时优化方案

摘要:前言 本文以离线数据仓库为背景,重点介绍因传输链路数据延时的不确定性,可能导致部分延迟文件无法参与正常的调度计算或同步,导致数据缺失的问题成因、业务影响及相应的解决方案。 关于这类问题的处理,有这么一种论调:我们认为正常情况下,脏 或 缺失 数据的比例是很小的,可以大致认为数据是可用的的;或者我们可 阅读全文

posted @ 2020-06-29 17:03 demigelemiao 阅读(421) 评论(1) 推荐(0) 编辑

2020年5月26日

[置顶] 团队工作建议

摘要:团队工作建议 目标 两个明确 明确核心工作目标; 明确核心工作职责; PS:建议以季度或月为单位,思考清楚自己现阶段的主要工作内容是什么,如有疑问,请及时与团队负责人沟通。 两个保证 保证有效工作时间(50%+)投入到有效目标的达成过程中; 保证核心服务的稳定性; PS:工作过程中,如果出现因为业务 阅读全文

posted @ 2020-05-26 13:17 demigelemiao 阅读(367) 评论(1) 推荐(0) 编辑

2020年2月21日

[置顶] GitBook安装部署实操手册

摘要:前言 GitBook是一个基于Node.js的命令行工具,可使用Git和Markdown来编写文档,赞誉太多,不再赘述。 Node.js 1. 下载安装包 2. 解压安装包 3. 安装 安装过程分为3步:移动安装包解压目录至/user/local、为node、npm建立软链接,以及删除安装包。 Gi 阅读全文

posted @ 2020-02-21 17:17 demigelemiao 阅读(2339) 评论(0) 推荐(0) 编辑

2020年2月20日

[置顶] Wiki.js安装部署实操手册

摘要:[TOC] 前言 习惯的力量是很强大的。记得刚开始那会儿使用Markdown的时候各种变扭,可是输出的文档格式真心很整洁啊!时间一长,看着自己精心编写的文档复制粘贴到公司Wiki变成“扭曲”的形态,内心真是一忍再忍。最近几天一直在研究提升工作效率的事情,技术文档是其中很重要的一项,琢磨着自己动手吧, 阅读全文

posted @ 2020-02-20 15:56 demigelemiao 阅读(2212) 评论(0) 推荐(0) 编辑

2020年2月12日

[置顶] “/var/cache/logwatch”目录占用空间过大问题排查

摘要:背景 最近Hadoop集群的小量节点偶尔会因“/var/cache/logwatch”目录战胜空间过大(约3 5 GB左右),引发磁盘报警;最早开始是春节假期期间出现的,一开始的时候没太当回事儿,认为是个例,随手清除了事;后面有其它机器也不定时的会出现类似情况,觉得有问题,安排团队的一个小朋友跟进排 阅读全文

posted @ 2020-02-12 14:59 demigelemiao 阅读(264) 评论(0) 推荐(0) 编辑

2019年9月25日

[置顶] 为什么需要OLAP DSL?

摘要:OLAP(On Line Analytical Processing,联机分析处理)是大数据场景中,数据价值探索与挖掘的重要环节。这个领域内,开源社区呈现百花齐放的现象,Elasticsearch、Druid、Clickhouse、Pinot、Kylin、Presto等,各自在业界都有着广泛的应用场 阅读全文

posted @ 2019-09-25 13:26 demigelemiao 阅读(341) 评论(0) 推荐(0) 编辑

2016年7月18日

[置顶] MapReduce扩展:应用程序如何运行于Hadoop Yarn之上

摘要:1. 背景 “应用程序运行于Hadoop Yarn之上”的需求来源于微博运维数据平台中的调度系统,即调度系统中的任务需要运行于Hadoop Yarn之上。这里的应用程序可以简单理解为一个普通的进程(这里特指Java进程),调度系统中的任务执行实际也是一个进程的运行过程,这里我们不讨论为什么调度系统中 阅读全文

posted @ 2016-07-18 17:11 demigelemiao 阅读(1273) 评论(0) 推荐(2) 编辑

2016年6月29日

[置顶] HDFS Block Replica Placement实现原理

摘要:1. 背景 Block Replica Placement——数据块复本存储策略,HDFS Namenode以此为依据选取数据块复本应存储至哪些HDFS Datanodes,策略的设计需要权衡以下三个因素: 可靠性 写带宽 读带宽 注:本文均以数据块复本因子为3来讨论。 我们以两个比较极端的例子来说 阅读全文

posted @ 2016-06-29 19:12 demigelemiao 阅读(938) 评论(0) 推荐(1) 编辑

2016年6月26日

[置顶] 实时计算平台中的弹性集群资源管理

摘要:本文系微博运维数据平台(DIP)在实时计算平台的研发过程中集群资源管理方面的一些经验总结和运用,主要关注以下几个问题: 异构资源如何整合? 实时计算应用之间的物理资源如何隔离? 集群资源利用率如何提高? 集群运维成本如何降低? 1. 背景 这是我们初期的一个实时计算架构,大致划分为三个部分: (1) 阅读全文

posted @ 2016-06-26 18:15 demigelemiao 阅读(1419) 评论(0) 推荐(2) 编辑

2016年6月21日

[置顶] Flume FileChannel优化(扩展)实践指南

摘要:本文系微博运维数据平台(DIP)在Flume方面的优化扩展经验总结,在使用Flume FileChannel的场景下将吞吐率由10M/s~20M/s提升至80M/s~90M/s,分为四个部分进行介绍: 应用场景 Flume实例架构 Flume调试及优化扩展 Flume Todo 生产环境部署 1. 阅读全文

posted @ 2016-06-21 11:38 demigelemiao 阅读(6485) 评论(0) 推荐(1) 编辑

2016年6月14日

[置顶] 设计模式:Observer(观察者)—— Guava EventBus

摘要:本文分为三个部分: Observer(观察者) Guava EventBus详解 Guava EventBus使用示例 1. Observer(观察者) 1.1 背景 我们设计系统时,常常会将系统分割为一系列相互协作的类,使得这些类之间可以各自独立地复用,系统整体结构也会比较清晰。这是一种最基本的面 阅读全文

posted @ 2016-06-14 18:09 demigelemiao 阅读(994) 评论(0) 推荐(1) 编辑

2016年6月1日

[置顶] Kafka Topic Partition Replica Assignment实现原理及资源隔离方案

摘要:本文共分为三个部分: Kafka Topic创建方式 Kafka Topic Partitions Assignment实现原理 Kafka资源隔离方案 1. Kafka Topic创建方式 Kafka Topic创建方式有以下两种表现形式: (1)创建Topic时直接指定Topic Partiti 阅读全文

posted @ 2016-06-01 20:06 demigelemiao 阅读(6981) 评论(0) 推荐(2) 编辑

2016年5月30日

[置顶] Storm On Docker

摘要:1. 安装Docker (1)确认系统版本 sudo lsb_release -a 注:如果提示找不到命令“lsb_release”,使用“yum install redhat-lsb”进行安装。 (2)安装Docker sudo yum install docker.x86_64(Docker V 阅读全文

posted @ 2016-05-30 20:06 demigelemiao 阅读(973) 评论(0) 推荐(0) 编辑

2016年2月17日

[置顶] Spark使用CombineTextInputFormat缓解小文件过多导致Task数目过多的问题

摘要:目前平台使用Kafka + Flume的方式进行实时数据接入,Kafka中的数据由业务方负责写入,这些数据一部分由Spark Streaming进行流式计算;另一部分数据则经由Flume存储至HDFS,用于数据挖掘或机器学习。HDFS存储数据时目录的最小逻辑单位为“小时”,为了保证数据计算过程中的数 阅读全文

posted @ 2016-02-17 16:24 demigelemiao 阅读(9038) 评论(0) 推荐(3) 编辑

2015年12月23日

[置顶] Hadoop Yarn内存资源隔离实现原理——基于线程监控的内存隔离方案

摘要:<!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> 阅读全文

posted @ 2015-12-23 16:14 demigelemiao 阅读(5236) 评论(0) 推荐(3) 编辑

2015年12月10日

[置顶] Camus导入中文乱码问题(源码修改、编译、部署、任务启动)

摘要:Camus使用过程中业务方反映从Kafka导入至HDFS中的数据有中文乱码问题,且业务方确认写入的数据编码为UTF-8,开始跟进。问题重现:(1)编写代码将带有中文的字符串以编码UTF-8写入Kafka的某个Topic;(2)将该Topic的数据通过Camus导入HDFS;(3)查看HDFS中导入的... 阅读全文

posted @ 2015-12-10 16:21 demigelemiao 阅读(1438) 评论(1) 推荐(1) 编辑

2015年12月8日

[置顶] DIP开放计算平台介绍

摘要:随着平台业务的发展,依赖于Portal(Web)构建的服务架构已逐渐不能满足现有的一些复杂需求(如:使用Hive SQL无法完成计算逻辑),而且对于一些具备编程能力的程序员或数据分析师而言,能够自主控制任务的诉求越来越多,这就要求我们必须把平台的计算能力开放出去,主要涉及以下三个问题:(1)用户可以... 阅读全文

posted @ 2015-12-08 17:49 demigelemiao 阅读(990) 评论(0) 推荐(0) 编辑

2015年11月15日

[置顶] Spark RDD Persistence

摘要:Spark最为重要的特性之一就是可以在多个操作(Action)之间,将一个或多个RDD关联的数据集(Dataset)以分区(Partition)为单位进行持久化(Persist)或缓存(Cache),存储介质通常是内存(Memory)。被持久化或缓存的RDD A可以在两种情况下被很好地“重复”利用:... 阅读全文

posted @ 2015-11-15 12:41 demigelemiao 阅读(2614) 评论(0) 推荐(2) 编辑

2020年8月11日

微博AnalysisQl动态数据视图元数据设计

摘要:前言 目前,AnalysisQl 数据视图的元数据(维度、指标、指标计算器)需要通过代码(API)或资源文件的形式硬编码,应用启动时,按照声明的顺序依次注册。这种模式下,数据视图是 静态 的,任何一项变更都需要重新升级发布应用服务,不利于服务快速迭代。 考虑到这种情况,AnalysisQl 在保留原 阅读全文

posted @ 2020-08-11 09:28 demigelemiao 阅读(138) 评论(0) 推荐(0) 编辑

2020年7月13日

微博大数据即席查询(OLAP)引擎实践

摘要:本文介绍的指标库、查询语言(DSL)、查询代理是我们团队自主研发的OLAP服务,在微博视频性能数据分析中取得很好地应用效果。通过技术优化的方式,在有限的计算资源范围内得到不错的性能表现,大幅降低数据接口、可视化及监控服务的开发成本。 同时,我们团队也在准备项目开源(https://github.com/weibodip/analysisql )的准备工作,有兴趣的同学可关注交流。 阅读全文

posted @ 2020-07-13 13:36 demigelemiao 阅读(736) 评论(1) 推荐(0) 编辑

2020年6月29日

微博数仓数据延时优化方案

摘要:前言 本文以离线数据仓库为背景,重点介绍因传输链路数据延时的不确定性,可能导致部分延迟文件无法参与正常的调度计算或同步,导致数据缺失的问题成因、业务影响及相应的解决方案。 关于这类问题的处理,有这么一种论调:我们认为正常情况下,脏 或 缺失 数据的比例是很小的,可以大致认为数据是可用的的;或者我们可 阅读全文

posted @ 2020-06-29 17:03 demigelemiao 阅读(421) 评论(1) 推荐(0) 编辑

2020年5月26日

Hive UDF使用资源文件及动态更新方案--后记

摘要:Hive UDF使用资源文件及动态更新方案--后记 在 Hive UDF使用资源文件及动态更新方案 一文中,针对UDF动态更新的问题,提出解决方案:UDF仅使用业务接口,初始化时动态从位于HDFS的Jar文件中加载业务接口实现类;其中,业务接口及实现类与UDF一一对应。 通常情况下,业务接口仅包含一 阅读全文

posted @ 2020-05-26 13:30 demigelemiao 阅读(154) 评论(0) 推荐(0) 编辑

Hive UDF使用资源文件及动态更新方案

摘要:Hive UDF使用资源文件及动态更新方案 背景 注: 本文中的“函数”等同于UDF,默认情况下特指永久函数。 Hive 0.13版本开始支持自定义永久函数(Permanent Function),可以将函数注册到Hive Metastore,通过Hive/Beeline/Spark SQL可以直接 阅读全文

posted @ 2020-05-26 13:29 demigelemiao 阅读(518) 评论(0) 推荐(0) 编辑

Spark SQL ThriftServer

摘要:Spark SQL ThriftServer 启动命令 默认情况下,Spark 日志目录 SPARK_LOG_DIR 指向 SPARK_HOME/logs,如因权限访问控制,可以通过显示设置环境变量 SPARK_LOG_DIR,将日志目录指向其它路径,如: export SPARK_LOG_DIR= 阅读全文

posted @ 2020-05-26 13:19 demigelemiao 阅读(56) 评论(0) 推荐(0) 编辑

OKR实施方法论

摘要:前言 OKR这个名词最近两年在国内好像特别火,据说好多大厂都使用OKR替代KPI,我司也于去年年初的时候“风风火火”地搞过一阵,我也是借着这个机会才了解到OKR的基本概念:目标与关键结果(Objectives and Key Results),还煞有介事地买了一本《这就是OKR》研究了一下,只是后来 阅读全文

posted @ 2020-05-26 13:18 demigelemiao 阅读(156) 评论(0) 推荐(0) 编辑

团队工作建议

摘要:团队工作建议 目标 两个明确 明确核心工作目标; 明确核心工作职责; PS:建议以季度或月为单位,思考清楚自己现阶段的主要工作内容是什么,如有疑问,请及时与团队负责人沟通。 两个保证 保证有效工作时间(50%+)投入到有效目标的达成过程中; 保证核心服务的稳定性; PS:工作过程中,如果出现因为业务 阅读全文

posted @ 2020-05-26 13:17 demigelemiao 阅读(367) 评论(1) 推荐(0) 编辑

2020年2月21日

GitBook安装部署实操手册

摘要:前言 GitBook是一个基于Node.js的命令行工具,可使用Git和Markdown来编写文档,赞誉太多,不再赘述。 Node.js 1. 下载安装包 2. 解压安装包 3. 安装 安装过程分为3步:移动安装包解压目录至/user/local、为node、npm建立软链接,以及删除安装包。 Gi 阅读全文

posted @ 2020-02-21 17:17 demigelemiao 阅读(2339) 评论(0) 推荐(0) 编辑

2020年2月20日

Wiki.js安装部署实操手册

摘要:[TOC] 前言 习惯的力量是很强大的。记得刚开始那会儿使用Markdown的时候各种变扭,可是输出的文档格式真心很整洁啊!时间一长,看着自己精心编写的文档复制粘贴到公司Wiki变成“扭曲”的形态,内心真是一忍再忍。最近几天一直在研究提升工作效率的事情,技术文档是其中很重要的一项,琢磨着自己动手吧, 阅读全文

posted @ 2020-02-20 15:56 demigelemiao 阅读(2212) 评论(0) 推荐(0) 编辑

导航