首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Daph:新一代流批一体数据集成与数据处理工具

编程知识
2024年08月27日 10:36

Daph源码位于gitee,地址是https://gitee.com/dasea96/daph

概述

Daph的中文名称是大副,大副是职位仅低于船长的船舶驾驶员,甲板部(驾驶部)负责人,船长的主要助手。
Daph的英文名称,取自【有向无环图Directed Acyclic Graph】的第一个字母与最后三个字母。

Daph是一个通用的数据集成与数据处理平台级工具,可用于构建可视化配置化的数据集成与数据处理平台。

Daph,大道至简。
Daph的核心概念是节点,节点具有输入线与输出线,每条线中承载数据,节点承载任意数据处理逻辑。
Daph的核心构件是一个自创的通用DAG数据流引擎,可以流转任意Java/Scala数据结构,可以引入任何基于Java平台或具有Java客户端的数据计算组件作为数据流底层数据计算引擎。
Daph的核心功能是联接多个节点构成DAG图,并流转数据。

功能

  • 全量增量整库整表数据集成:以极简配置方式,完成全量增量整库整表数据集成
    • 已支持50多种数据源类型的全量整表同步
    • 已支持Flink-cdc所支持的所有数据源类型的cdc整表同步
    • 已支持mysql/postgresql/oracle/sqlserver/doris/starrocks到mysql/postgresql/oracle/sqlserver/doris/starrocks/hive/iceberg/kafka的全量增量整库同步
  • 流批一体复杂数据处理:以极简配置方式,完成流批一体任意复杂多表sql处理逻辑

价值

  • 统一数据开发视图:Daph既具有丰富的数据集成能力,又具有强大的数据处理能力
  • 降低数据开发门槛:通过配置文件,完成数据开发
  • 缩短数据开发周期:开箱即用的海量数据集成与数据处理能力,极简的安装部署方式,极简的二次开发过程

特点

  • 通用:可连接任意JVM类型的节点,构成DAG图,并流转任意Java/Scala数据结构。因此,不仅目前能够用于构建DAG数据流,而且具有潜在的任意粒度的DAG任务调度的潜力,可基于一个daph-core,统一任务开发与任务调度,实现一体化的可视化任务开发与任务调度平台。
  • 简单:概念简单,配置简单
    • 基于开源计算引擎,不引入新的复杂概念
    • 节点配置简单,比如daph-spark节点配置项,与Spark配置项几乎完全一致,不增加学习开销。
  • 强大:架构强大,功能强大
    • 架构层面具有多层环绕运行体系,可定制任意Job级/DAG级/节点级/方法级功能,比如节点数据预览功能、节点监控功能、前置后置SQL功能。目前所有节点均已支持前置后置建表功能,daph-spark所有节点已支持前置后置SQL功能
    • daph-spark仅有5个连接器、6个转换器,却已支持44种数据源的流批读写,且能随时扩充更多数据源;已支持对单表的map、filter、sql处理,对多表的join及任意复杂sql处理;且支持spark能支持的任何catalog
    • daph-flink仅有2个连接器、1个转换器,却已支持任何flink-sql支持的数据源的流批读写;已支持对单表与多表的任意复杂sql处理;且支持flink能支持的任何catalog。
  • 聚焦:聚焦于可视化配置化的数据集成与数据处理,聚焦于简化开源计算引擎的使用,不增加学习开销。
  • 流转任意数据结构:可流转任意JVM数据结构,比如Java/Scala List、Spark DataFrame、Flink DataStream。
  • 支持多种计算引擎:可引入任何基于Java平台或具有Java客户端的数据计算组件作为数据流底层数据计算引擎,比如Java/Scala/Spark/Flink,等等。
  • 快速扩展节点:可方便地扩展与部署具有任意逻辑的节点,比如扩展新的连接器节点,以支持读写新的数据库类型;比如扩展新的转换器节点,以便引入特定数据处理逻辑处理数据。只需要完成以下三点,即可完成:
    1)实现一个配置接口与一个功能接口
    2)将扩展的节点对应的jar放在服务器目录
    3)json文件中配置扩展节点信息

对比业界类似软件

Daph:

  1. 既能用于数据集成,又能用于复杂的数据处理
  2. 极致通用的DAG模型,能够流转任意JVM对象,引入任意符合Spark/Flink编程模型的计算引擎
  3. 不重复造轮子,专注于简化开源计算引擎的使用,配置项几乎与开源计算引擎一一对应
  4. 完美运用开源计算引擎的各项能力,包括且不限于流批处理能力、catalog能力、sql能力
  5. 能够及时从开源计算引擎的生态系统中获益
    • 比如Spark,一旦新出现一种数据库连接器,在Daph中只需要在pom.xml中添加依赖,就能立刻使用
对比维度 Daph SeaTunnel StreamSets StreamX Kettle Chunjun
通用性
易用性
开源
数据结构流转能力 所有JVM对象 Dataset[Row]/DataStream[Row]/Zeta数据结构
计算引擎接入能力 任意符合Spark/Flink编程模型的计算引擎 Spark/Flink/Zeta Spark Spark/Flink Java Flink
流水线模型 DAG 线 DAG DAG 线
功能扩展性
学习成本
开发成本
运维成本

架构模型

数据流模型

Daph的数据流模型是DAG数据流模型,如下图所示:

Daph数据流模型

例如一个数据集成与数据处理综合场景,如下图所示:

  • 输入是一张MySQL表、一张Hive表,一张Oracle表
  • 处理逻辑包含map、join、sql、自定义复杂逻辑
  • 输出是一个Hudi表、一个Doris表、一个HBase表

Daph数据流模型示例

运行模型

Daph通过节点包裹代码片段,将节点连成一个DAG图,并最终将DAG图形成一个完整的应用程序。

  • 一个DAG图就是一个完整运行逻辑,比如当使用Spark作为底层计算引擎,一个DAG图就是一个完整的Spark应用程序。
  • 一个DAG图中可以同时包含Java节点、Scala节点、Spark节点,也可以同时包含Java节点、Scala节点、Flink节点,但不能同时包含Spark与Flink节点。
  • 底层计算引擎决定了应用程序的类型。
    JVM引擎对应的就是原生Java/Scala应用程序;
    Spark引擎对应的就是Spark应用程序;
    Flink引擎对应的就是Flink应用程序。

Daph运行模型如下图所示:

Daph运行模型

部署模型

Daph目前的部署模型非常简单,

  • daph-jvm,就是部署原生java程序
  • daph-spark,就是部署spark应用程序
  • daph-flink,就是部署flink应用程序
From:https://www.cnblogs.com/dasea96/p/18382373
本文地址: http://www.shuzixingkong.net/article/1482
0评论
提交 加载更多评论
其他文章 一种PyInstaller中优雅的控制包大小的方法
PyInstaller会在打包时自动为我们收集一些依赖项,特别是我们在打包PyQt/PySide相关的应用时,PyInstaller会自动包含我们程序通常不需要的文件,如'tanslations'文件夹,'plugins/imageformats'等,通常这些文件会使
SRE 必备知识 - Kafka 探秘之零拷贝技术
如果你了解过 Kafka,那么它用到的一个性能优化技术可能会引起你的注意 -- 操作系统的零拷贝(zero-copy)优化。 零拷贝操作可以避免对数据的非必要拷贝,当然,并非是说完全没有拷贝。 在 Kafka 的场景下,操作系统可以从 page cache 拷贝数据到 socket buffer,直
SRE 必备知识 - Kafka 探秘之零拷贝技术 SRE 必备知识 - Kafka 探秘之零拷贝技术 SRE 必备知识 - Kafka 探秘之零拷贝技术
.NET 开源实时监控系统 - WatchDog
前言 在平时的开发中随着我们系统应用不断地迭代变的复杂,对应用的实时监控变得越来越重要。实时监控不仅可以帮助我们快速定位问题,还能在出现问题时及时采取措施,减少业务中断的时间。 本文将介绍一个名为WatchDog的.NET开源实时应用监控系统,它可以帮助我们轻松实现对.NET应用的实时监控。 项目介
.NET 开源实时监控系统 - WatchDog .NET 开源实时监控系统 - WatchDog .NET 开源实时监控系统 - WatchDog
月老情侣交友盲盒4.0.x任意文件写入漏洞
月老情侣交友盲盒4.0.x任意文件写入漏洞 月老情侣交友盲盒4.0.x任意文件写入漏洞 月老情侣交友盲盒4.0.x任意文件写入漏洞
记一次 .NET某实验室自动进样系统 崩溃分析
一:背景 1. 讲故事 前些天有位朋友在微信上联系到我,说他们的程序在客户那边崩掉了,让我帮忙看下怎么回事,dump也拿到了,那就上手分析吧。 二:WinDbg 分析 1. 哪里的崩溃 既然是程序的崩溃,自然是有原因的,皮裤套棉裤,必定有缘故,不是皮裤太薄就是棉裤没毛,用 !analyze -v 观
记一次 .NET某实验室自动进样系统 崩溃分析 记一次 .NET某实验室自动进样系统 崩溃分析
基于Material Design风格开源的Avalonia UI控件库
前言 今天大姚给大家分享一款基于Material Design风格开源、免费(MIT License)的Avalonia UI控件库:Material.Avalonia。 当前项目还处于alpha阶段。 Avalonia介绍 Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用
基于Material Design风格开源的Avalonia UI控件库 基于Material Design风格开源的Avalonia UI控件库 基于Material Design风格开源的Avalonia UI控件库
《数据资产管理核心技术与应用》读书笔记-第四章:数据质量的技术实现(二)
质量数据采集到的是原始的数据,由于数据质量规则众多,所以每一种规则采集到的原始数据可能都不一样,所以还需要对原始的数据做归一化处理,然后才能进行入库存储
《数据资产管理核心技术与应用》读书笔记-第四章:数据质量的技术实现(二) 《数据资产管理核心技术与应用》读书笔记-第四章:数据质量的技术实现(二) 《数据资产管理核心技术与应用》读书笔记-第四章:数据质量的技术实现(二)
React 高德地图 进京证 (二)
上回书说到,躲开摄像头的基本功能实现了,但有三个核心问题: (1)速度慢 (2)距离远易失败 (3)地图限制 第一个问题:较为简单,把几千个摄像头按行政区划分好带上编号,在路线分段避让时按片儿计算,综合测试速度提升了50%。 //找到每段step途径的 let wayDistrictsCamera
React 高德地图 进京证 (二) React 高德地图 进京证 (二) React 高德地图 进京证 (二)