為什么我們需要 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[結果輸出]
多個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
環境依賴
-
java運行環境,java >= 8
-
如果您要在集群環境中運行seatunnel,那么需要以下Spark集群環境的任意一種:
- Spark on Yarn
- Spark Standalone
- Spark on Mesos
如果您的數據量較小或者只是做功能驗證,也可以僅使用local
模式啟動,無需集群環境,seatunnel支持單機運行。