Apache seaTunnel 数据集成平台

摘要:
当我们使用Spark时,我们发现了很多有趣的地方,我们也发现了我们的机会-通过我们的努力,我们使Spark的使用更加简单和高效,并巩固了行业和我们在使用Spark进入西雅图隧道方面的高质量经验,这显著降低了学习成本并加快了生产环境中分布式数据处理能力的实现。目前,seatunnel支持的过滤器列表仍在扩展。

为什么我们需要 seatunnel

Databricks 开源的 Apache Spark 对于分布式数据处理来说是一个伟大的进步。我们在使用 Spark 时发现了很多可圈可点之处,同时我们也发现了我们的机会 —— 通过我们的努力让Spark的使用更简单,更高效,并将业界和我们使用Spark的优质经验固化到seatunnel这个产品中,明显减少学习成本,加快分布式数据处理能力在生产环境落地。

除了大大简化分布式数据处理难度外,seatunnel尽所能为您解决可能遇到的问题:

  • 数据丢失与重复
  • 任务堆积与延迟
  • 吞吐量低
  • 应用到生产环境周期长
  • 缺少应用运行状态监控

"seatunnel" 的中文是“水滴”,来自中国当代科幻小说作家刘慈欣的《三体》系列,它是三体人制造的宇宙探测器,会反射几乎全部的电磁波,表面绝对光滑,温度处于绝对零度,全部由被强互作用力紧密锁死的质子与中子构成,无坚不摧。在末日之战中,仅一个水滴就摧毁了人类太空武装力量近2千艘战舰。

seatunnel 使用场景

  • 海量数据ETL
  • 海量数据聚合
  • 多源数据处理

seatunnel 的特性

  • 简单易用,灵活配置,无需开发
  • 实时流式处理
  • 高性能
  • 海量数据处理能力
  • 模块化和插件化,易于扩展
  • 支持利用SQL做数据处理和聚合
  • Spark Structured Streaming
  • 支持Spark 2.x

seatunnel 的工作流程

Input/Source[数据源输入] -> Filter/Transform[数据处理] -> Output/Sink[结果输出]

wd-workflow

多个Filter构建了数据处理的Pipeline,满足各种各样的数据处理需求,如果您熟悉SQL,也可以直接通过SQL构建数据处理的Pipeline,简单高效。目前seatunnel支持的Filter列表, 仍然在不断扩充中。您也可以开发自己的数据处理插件,整个系统是易于扩展的。

seatunnel 支持的插件

  • Input/Source plugin

Fake, File, Hdfs, Kafka, S3, Socket, 自行开发的Input plugin

  • Filter/Transform plugin

Add, Checksum, Convert, Date, Drop, Grok, Json, Kv, Lowercase, Remove, Rename, Repartition, Replace, Sample, Split, Sql, Table, Truncate, Uppercase, Uuid, 自行开发的Filter plugin

  • Output/Sink plugin

Elasticsearch, File, Hdfs, Jdbc, Kafka, Mysql, S3, Stdout, 自行开发的Output plugin

环境依赖

  1. java运行环境,java >= 8

  2. 如果您要在集群环境中运行seatunnel,那么需要以下Spark集群环境的任意一种:

  • Spark on Yarn
  • Spark Standalone
  • Spark on Mesos

如果您的数据量较小或者只是做功能验证,也可以仅使用local模式启动,无需集群环境,seatunnel支持单机运行。

免责声明:文章转载自《Apache seaTunnel 数据集成平台》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux OpenSSL安装和使用示例使用iperf3调试网络下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF 数据验证

  在软件UI界面录入数据时候,为了保证数据的正确、有效、规范性,很多情况下都要验证数据的有效性。比如录入某个人的信息,那么我们就需要对这个人的姓名验证是否为空字符串,年龄是否为有效数字,性别是否为男或女等等。   在WPF开发中,数据的验证和数据绑定结合在一起,实现起来很优雅。我们可以让数据Model(模型)实现IDataErrorInfo接口来实现每个...

POST提交数据方式

application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。 当直接提交form表单时,默认就使用此种方式。 multipart/form-d...

数据库SQL优化大总结之 百万级数据库优化方案(转载)

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。 这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。   一、百万级数据库优化方案 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 o...

clickHouse 导入/删除/更新数据

1、 --导入数据: CREATE TABLE FactSaleOrders ENGINE = MergeTree ORDER BY OrderID AS SELECT * FROM mysql('10.42.134.136:4000', 'dbname', 'tableName', 'root', 'password'); orderId mysql中的...

QT 线程内定时器QTimer无效问题解决方案

在大批量数据处理时,需要长时间等待,这就需要有进度条显示处理进度,因此也就需要建立一个定时器,来实时更新进度条。 数据处理在单独的子线程中进行,在子线程中new一个定时器,但是定时器并没能实时触发更新(update())函数,直到数据处理完了之后,才会触发,也就是说数据处理堵塞了定时器的触发,为了实现定时器的实时触发,则需在子线程内新建一个线程来运行定时器...

使用kettle实现最基础的数据表同步

最近数据交换项目上需要用到ETL工具,原来一直不太了解,经同事介绍kettle可以很方便地进行数据同步。于是简单试用了一下,实现了从源表到目标表的数据同步(包括增删改)。 我们的需求如下:将业务系统指定表(source表)中的数据,同步到交换平台上相同结构的表(target表)中。不论source表中的数据新增、修改、删除,都会同步更新到target表中。...