gobblin 源码分析

简介: 最近,开始搞些大数据相关的内容,遇到的第一个问题,就是数据入库,小白刚入手,又不想写太多代码,于是从网上找,入库手段很多: DataX,Sqoop,以及Flume 等以及直接使用 Spark 进行入库,想了下当下的场景(不是简单的倒库,要从kafka拉...

最近,开始搞些大数据相关的内容,遇到的第一个问题,就是数据入库,小白刚入手,又不想写太多代码,于是从网上找,入库手段很多: DataX,Sqoop,以及Flume 等以及直接使用 Spark 进行入库,想了下当下的场景(不是简单的倒库,要从kafka拉,然后过滤些东西,在进入库里),后来发现了 linkedin 的 gobblin ,感觉很强大的,说是国内 JD 也在用...

进入正题....

架构分析

如下图所示, 本人使用的是独立运行的单机程序,因此使用的 EmbeddedGobblin 来启动 Job ,顺着这条路一直缕到 Gobblin 内部运行机制:


img_fd9466a9302c7bef8c2e074a646b0617.jpe
架构类图

如上图所示,EmbededGobblin 作为 Gobblin 启动项,通过 Task 的方式将 Job 管理起来,如果存在多个不同的 Fork ,分别将数据进行复制,并传递到各个 Fork 中进行进一步的计算处理。

整个过程中主要可能涉及到的是 Converter 的配置, Watermark, Writer等相关内容的应用,通过结合 Watermark 与 Writer 配合,也能做到反馈当前写到哪里,方便当前程序停掉之后,下次启动时接着这次继续运行。

目录
相关文章
|
存储 机器学习/深度学习 消息中间件
数据处理能力相差 2.4 倍?Flink 使用 RocksDB 和 Gemini 的性能对比实验
在本篇文章中我们将对 RocksDB、Heap 和 Gemini 在相同场景下进行压测,并对其资源消耗进行对比。测试的 Flink 内核版本为 1.10.0。
数据处理能力相差 2.4 倍?Flink 使用 RocksDB 和 Gemini 的性能对比实验
|
9月前
|
JSON 搜索推荐 数据挖掘
Temu商品列表数据接口(Temu API系列)
Temu作为新兴跨境电商平台,为全球卖家和消费者搭建便捷交易桥梁。通过商品列表数据接口,开发者、分析师可获取商品名称、价格、销量等信息,助力市场调研、商品管理和数据分析。接口支持HTTP GET请求,参数包括品类、价格区间、排序方式等,响应格式为JSON。Python示例代码展示了如何调用API获取数据,应用场景涵盖竞争对手分析、选品参考、销售预测及个性化推荐系统开发等。
2648 24
|
监控 Ubuntu 测试技术
Ubuntu 20.04 安装部署 TiDB DM v7.3.0 集群【全网独家】
在Ubuntu上搭建TiDB DM集群的详细步骤分享,作者因工作需求克服了部署难题。测试环境包括3台Ubuntu 20.04主机:1台master和2台worker。首先,确保所有主机安装TiDB单机环境,使用TiUP工具下载并部署。接着,设置主机间免密登录,安装必要组件如sudo、systemd、iproute2和DM组件。配置文件可通过在线或离线方式获取。部署时,根据需求编辑`topology.yaml`,然后使用`tiup dm deploy`命令安装。最后,启动集群并检查节点状态,确认DM集群正常运行。注意,解决内存不足和端口连通性问题以避免错误。
793 3
|
11月前
|
存储 消息中间件 SQL
流存储Fluss:迈向湖流一体架构
本文整理自阿里云高级开发工程师罗宇侠在Flink Forward Asia 2024上海站的分享,介绍了湖流割裂的现状与挑战,Fluss湖流一体架构的设计与优势,以及未来规划。内容涵盖湖流割裂的现状、Fluss架构详解、湖流一体带来的收益,以及未来的生态扩展和技术优化。
997 11
流存储Fluss:迈向湖流一体架构
|
JSON Java Apache
如何查看jar包的官网地址
如何查看jar包的官网地址
441 1
|
存储 数据采集 JSON
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
监控是运维系统的基础,我们衡量一个公司/部门的运维水平,看他们的监控系统就可以了。一个完善的监控系统可以提高应用的可用性和可靠性,在提供更优质服务的前提下,降低运维的投入和工作量,为用户带来更多的商业利益和客户体验。下面就带大家彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统。
16225 1
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
|
分布式计算 大数据 数据处理
【重磅】Pandas 2.0发布!更快的速度更低的内存占用!
Pandas 是一个用于操作数据的 Python 库,在 Python 开发人员中非常流行。4月3日,Pandas 2.0正式发布。得益于 PyArrow的引入,Pandas 2.0 实现了更快、更节省内存的操作。
851 0
【重磅】Pandas 2.0发布!更快的速度更低的内存占用!
|
存储 运维 Cloud Native
前沿分享|阿里云数据库解决方案资深专家 李圣陶:云原生数据库解决方案 加速企业国产化升级
本篇内容为2021云栖大会-企业级云原生数据库最佳实践论坛中,阿里云数据库解决方案资深专家 李圣陶关于“云原生数据库解决方案 加速企业国产化升级”的分享。
1007 0
前沿分享|阿里云数据库解决方案资深专家 李圣陶:云原生数据库解决方案 加速企业国产化升级
|
存储 缓存 监控
深入浅出 eBPF 技术
1 eBPF 介绍eBPF 是革命性技术, 起源于 linux 内核, 能够在操作系统内核中执行沙盒程序。旨在不改变内核源码或加载内核模块的前提下安全便捷的扩展内核能力。1.1 demo 展示demo程序如下:#include <linux/bpf.h> #define SEC(NAME) __attribute__((section(NAME), used)) SEC(&quot
4775 0
深入浅出 eBPF 技术