更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 摘要字节数据中台DataLeap的DataCatalog系统通过接收MQ中的近实时消息来同步部分元数据。ApacheAtlas对于实时消息的消费处理不满足性能要求,内部使用Flink任务的处理方案在ToB场景中也存在诸多限制,所以团队自研了轻量级异步消息处理框架,很好的支持了字节内部和火山引擎上同步元数据的诉求。本文定义了需求场景,并详细介绍框架的设计与实现。背景动机字节数据中台DataLeap的DataCatalog系统基于ApacheAtlas搭建,其中Atlas通过Kafka获取外部系统的元数据变更消息
背景字节跳动DataCatalog产品早期,是基于LinkedInWherehows进行二次改造,产品早期只支持Hive一种数据源。后续为了支持业务发展,做了很多修修补补的工作,系统的可维护性和扩展性变得不可忍受。比如为了支持数据血缘能力,引入了字节内部的图数据库veGraph,写入时,需要业务层处理MySQL、ElasticSearch和veGraph三种存储,模型也需要同时理解关系型和图两种。更多的背景可以参照之前的文章。新版本保留了原有版本全量的产品能力,将存储层替换成了ApacheAtlas。然而,当我们把存量数据导入到新系统时,许多接口的读写性能都有严重下降,服务器资源的使用也被拉伸
背景字节跳动DataCatalog产品早期,是基于LinkedInWherehows进行二次改造,产品早期只支持Hive一种数据源。后续为了支持业务发展,做了很多修修补补的工作,系统的可维护性和扩展性变得不可忍受。比如为了支持数据血缘能力,引入了字节内部的图数据库veGraph,写入时,需要业务层处理MySQL、ElasticSearch和veGraph三种存储,模型也需要同时理解关系型和图两种。更多的背景可以参照之前的文章。新版本保留了原有版本全量的产品能力,将存储层替换成了ApacheAtlas。然而,当我们把存量数据导入到新系统时,许多接口的读写性能都有严重下降,服务器资源的使用也被拉伸
概要最近,结合视频剪辑工具剪映制作短视频时,如果不是数学相关的内容,使用视频剪辑工具配置字幕,添加图片等等比manim更加方便。所以,用manim封装一个目录的动画,用来配合剪辑工具中的其他资源。代码封装基于manim封装一个目录显示的class。主要属性就是titles,也就是目录中的各个标题。classCatalogDisplayer:def__init__(self,sc:Scene,titles:list):self.sc=scself.titles=titlesdef_title(self):title=Text("目录",font_size=20,weight=BOLD).shif
概要最近,结合视频剪辑工具剪映制作短视频时,如果不是数学相关的内容,使用视频剪辑工具配置字幕,添加图片等等比manim更加方便。所以,用manim封装一个目录的动画,用来配合剪辑工具中的其他资源。代码封装基于manim封装一个目录显示的class。主要属性就是titles,也就是目录中的各个标题。classCatalogDisplayer:def__init__(self,sc:Scene,titles:list):self.sc=scself.titles=titlesdef_title(self):title=Text("目录",font_size=20,weight=BOLD).shif
字节数据中台DataLeap的DataCatalog系统通过接收MQ中的近实时消息来同步部分元数据。ApacheAtlas对于实时消息的消费处理不满足性能要求,内部使用Flink任务的处理方案在ToB场景中也存在诸多限制,所以团队自研了轻量级异步消息处理框架,很好的支持了字节内部和火山引擎上同步元数据的诉求。本文定义了需求场景,并详细介绍框架的设计与实现。1.背景1.1动机字节数据中台DataLeap的DataCatalog系统基于ApacheAtlas搭建,其中Atlas通过Kafka获取外部系统的元数据变更消息。在开源版本中,每台服务器支持的KafkaConsumer数量有限,在每日百万级
字节数据中台DataLeap的DataCatalog系统通过接收MQ中的近实时消息来同步部分元数据。ApacheAtlas对于实时消息的消费处理不满足性能要求,内部使用Flink任务的处理方案在ToB场景中也存在诸多限制,所以团队自研了轻量级异步消息处理框架,很好的支持了字节内部和火山引擎上同步元数据的诉求。本文定义了需求场景,并详细介绍框架的设计与实现。1.背景1.1动机字节数据中台DataLeap的DataCatalog系统基于ApacheAtlas搭建,其中Atlas通过Kafka获取外部系统的元数据变更消息。在开源版本中,每台服务器支持的KafkaConsumer数量有限,在每日百万级
随着项目的不断发展,项目中的依赖也越来越多,有时可能会有几百个,这个时候对项目依赖做一个统一的管理很有必要,我们一般会有以下需求:1、项目依赖统一管理,在单独文件中配置。2、不同Module中的依赖版本号统一。3、不同项目中的依赖版本号统一。针对这些需求,目前其实已经有了一些方案:使用循环优化Gradle依赖管理https://juejin.cn/post/6947675376835362846#heading-2使用buildSrc管理Gradle依赖https://juejin.cn/post/6844903615346245646使用includeBuild统一配置依赖版本https:/
随着项目的不断发展,项目中的依赖也越来越多,有时可能会有几百个,这个时候对项目依赖做一个统一的管理很有必要,我们一般会有以下需求:1、项目依赖统一管理,在单独文件中配置。2、不同Module中的依赖版本号统一。3、不同项目中的依赖版本号统一。针对这些需求,目前其实已经有了一些方案:使用循环优化Gradle依赖管理https://juejin.cn/post/6947675376835362846#heading-2使用buildSrc管理Gradle依赖https://juejin.cn/post/6844903615346245646使用includeBuild统一配置依赖版本https:/