分享免费的编程资源和教程

网站首页 > 技术教程 正文

介绍 Meteor,我们的开源元数据收集框架

goqiw 2024-10-15 12:17:51 技术教程 19 ℃ 0 评论


Meteor 是一个易于使用的插件驱动框架,用于从不同来源提取数据并汇入任何数据目录。


在 Gojek,我们每天处理超过 PB 的数据。这些数据可能来自各种来源,例如数据存储、服务、消息队列等。它可能具有不同的属性和类型,例如事务性、分析性、时间敏感型,也可能在多个系统中徘徊。大量的数据以自己的格式漫游,例如 JSON、Protobuf、Avro 等,也有自己的模式和元数据。

什么是元数据?

元数据是描述特定数据的一个或多个方面的信息。各种系统、数据库系统、消息队列,都有自己的上下文数据定义和结构。例如,table是对数据进行分组的数据库系统的一部分。在 Kafka 这样的消息队列系统中,这与topic. 单个表通常也解释了信息的单个上下文,例如实体信息、关系信息等。元数据可以包含诸如系统具有哪些表、每个表具有哪些列、该表的所有者是谁等信息。谁有权访问该表等。这些元数据信息有助于更好地理解数据。

在 Gojek,我们总是试图通过改进我们的功能、用户体验和解决方案来交付更好的产品。在处理该规模内的数据时,拥有不断变化的元数据的可能性也更高。由于我们在日常工作中将数据视为一等公民,因此需要更好地了解数据并了解可用的数据也很重要。我们需要找到一种管理元数据的方法,以便我们每个人都能及时了解不断变化的数据上下文。通过这样做,它还有助于适应所有系统依赖项中元数据的变化,这变得更具挑战性。

介绍流星

我们需要解决的几个挑战之一是我们如何有效地收集元数据。我们需要一个易于使用、可重用、可移植且足够灵活的工具,可以对其进行修改以满足通用用例。

Meteor来了,一个用于收集元数据的插件驱动代理。Meteor 的工作是从各种数据源中提取元数据并将元数据下沉到各种第三方 API。代理将创建一个由名为recipeyaml 文件的合同定义的定期作业。它是用 Golang 编写的,并且具有零依赖性,这意味着它将具有较小的内存占用和足够的便携性来运行它。

流星从源中提取元数据到汇

Meteor 中定义了三个阶段的过程:提取、处理和接收。提取是从源中提取数据并将其转换为代理可以使用的格式的过程。处理是将提取的数据转换为代理可以使用的格式的过程。接收器是将处理后的数据发送到配方中定义的单个或多个目的地的过程。

流星插件

Meteor 是用插件驱动的系统开发的,每个处理阶段都可以由它自己的插件完成。因此,Meteor 中存在三种类型的插件。Extractors是提取source元数据的插件类型。目前支持从各种来源(包括数据库、仪表板、主题等)提取元数据的多个插件Processors是一组插件,用于处理阶段以在提取后对元数据执行丰富或数据处理。最后一种类型是Sinks在代理完成提取和处理后充当元数据目的地的一组插件。

这是yaml描述工作的食谱示例。配方列出了每个阶段的插件,插件source,processors插件,sinks插件。meteor 中的每个插件都支持配置,因此可以根据任何用例进行定制和定制。

名称:main-kafka-production # 唯一配方名称作为 ID
版本:v1beta1 #recipe 版本
来源:# 必需 - 用于从来源获取输入
名称:kafka # 必需 - 收集器使用(例如 bigquery,kafka)
配置:
   代理:“ localhost:9092" 
sinks: # 必需 - 至少定义了 1 个 sink 
  - 名称:http
    配置:
      方法:POST 
      url:“ https://example.com/metadata ” 
  - 名称:控制台
处理器:# 可选 - 元数据处理器
  - 名称:元数据
    配置:
      foo:bar 
      bar:foo

Meteor 的插件系统允许轻松添加新插件。随着 50 多个插件以及更多即将推出的用于提取和接收元数据的插件,可以轻松开始从各种来源收集元数据并接收到任何数据目录或存储。

试试 Meteor——它是开源的!

Meteor 具有丰富的 CLI 功能,可以帮助用户更好地与流星交互。用户可以通过列出所有受支持的插件来执行多项操作以生成配方。对于 mac 用户,它提供了 brewed 公式,因此安装它就像运行一样简单:

冲泡安装 odpf/水龙头/流星

我们还为其提供了 helm chart 以将Meteor 作为 kubernetes cron 作业运行,因此部署它不会很麻烦。

在此处查看流星文档或在odpf github 存储库中查看我们的另一个项目以探索更多信息。

对我们使用odpf所做的工作感到兴奋吗?在此处查看空缺职位:

要阅读我们保险库中的更多故事,请单击此处。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表