Apache Seatunnel-快速开始

作者: Apache Seatunnel

我们以一个通过socket接收数据,将数据分割为多个字段,并输出处理结果的应用为例,快速展示seatunnel的使用方法。 因项目由 waterdrop 改名 为 seatunnel 进入孵化器, 因此历史发行版本文件夹名称还为 waterdrop

Step 1: 准备Flink 运行环境

如果你熟悉Flink或者已准备好Flink运行环境,可忽略此步骤,Flink不需要做任何特殊配置。

请先下载Flink, Flink版本请选择 1.9.0,更高版本的 Flink 兼容正在孵化中。下载完成进行安装

Step 2: 下载 seatunnel

进入seatunnel安装包下载页面,下载最新版seatunnel-<version>.zip

或者直接下载指定版本(以v2.0.4为例):

wget https://github.com/apache/incubator-seatunnel/releases/download/v2.0.4/waterdrop-dist-2.0.4-2.11.8-release.zip -O seatunnel-2.0.4.zip

下载后,解压:

unzip seatunnel-<version>.zip
ln -s waterdrop-<version> seatunnel

Step 3: 配置 seatunnel

编辑 config/waterdrop-env.sh, 指定必须环境配置如FLINK_HOME(Step 1 中Flink下载并解压后的目录)

新建并编辑 config/application.conf(可直接复制以下内容), 它决定了 seatunnel 启动后,数据输入,处理,输出的方式和逻辑。

env {

## You can set flink configuration here
  execution.parallelism = 1

##execution.checkpoint.interval = 10000

##execution.checkpoint.data-uri = "hdfs://localhost:9000/checkpoint"
}
source {
    SocketStream{
          result_table_name = "fake"
          field_name = "info"
    }
}
transform {
  Split{

##"
    fields = ["name","age"]
  }
  sql {
    sql = "select * from (select info,split(info) as info_row from fake) t1"
  }
}
sink {
  ConsoleSink 
}

Step 4: 启动netcat server用于发送数据

nc -l -p 9999

Step 5: 启动seatunnel

cd seatunnel
./bin/start-waterdrop-flink.sh  --config ./config/application.conf

Step 6: 在nc端输入

xg##1995

可在 flink Web-UI(http://localhost:8081/##/task-manager)的 TaskManager Stdout日志打印出:

xg##1995,xg,1995

总结

如果想了解更多的seatunnel配置示例可参见: 配置示例1 : Streaming 流式计算

以上配置为默认【流式处理配置模版】,可直接运行,命令如下:

cd seatunnel
./bin/start-waterdrop-flink.sh --config ./config/flink.streaming.conf.template

配置示例2 : Batch 离线批处理

以上配置为默认【离线批处理配置模版】,可直接运行,命令如下:

cd seatunnel
./bin/start-waterdrop-flink.sh --config ./config/flink.batch.conf.template

文章列表

更多推荐

更多
  • Pulsar消息队列-一套高可用实时消息系统实现 实时消息【即时通信】系统,有群聊和单聊两种方式,其形态异于消息队列:1 大量的 group 信息变动,群聊形式的即时通信系统在正常服务形态下,瞬时可能有大量用户登入登出。2 ...
  • Pulsar消息队列-Pulsar对比Kafka笔记 很多人查看 Pulsar 之前可能对 Kafka 很熟悉,参照上图可见二者内部结构的区别,Pulsar 和 Kafka 都是以 Topic 描述一个基本的数据集合,Topic 数据又分为若干 Partition,即对数据进行逻辑上的 ...
  • Pulsar消息队列-对 2017 年一套 IM 系统的反思 信系统的开发,前前后后参与或者主导了六七个 IM 系统的研发。上一次开发的 IM 系统的时间点还是 2018 年,关于该系统的详细描述见 [一套高可用实时消息系统实现][1] ...
  • Apache APISIX文档-快速入门指南-如何构建 Apache APISIX 如何构建 Apache APISIX,步骤1:安装 Apache APISIX,步骤2:安装 etcd,步骤3:管理 Apache APISIX 服务,步骤4:运行测试案例,步骤5:修改 Admin API key,步骤6:为 Apac
  • Apache APISIX文档-快速入门指南-快速入门指南 快速入门指南,概述,前提条件,第一步:安装 Apache APISIX,第二步:创建路由,第三步:验证,进阶操作,工作原理,创建上游服务Upstream,绑定路由与上游服务,添加身份验证,为路由添加前缀,APISIX Dashboard
  • Apache APISIX文档-架构设计-APISIX APISIX,软件架构,插件加载流程,插件内部结构,配置 APISIX,插件加载流程,比如指定 APISIX 默认监听端口为 8000,并且设置 etcd 地址为 http://foo:2379, 其他配置保持默认。在 ...
  • Apache APISIX文档-架构设计-Service Service 是某类 API 的抽象(也可以理解为一组 Route 的抽象)。它通常与上游服务抽象是一一对应的,Route 与 Service 之间,通常是 N:1 的关系,参看下图。不同 Route 规则同时绑定到一个 Service ...
  • Apache APISIX文档-架构设计-Plugin Config 如果你想要复用一组通用的插件配置,你可以把它们提取成一个 Plugin config,并绑定到对应的路由上。举个例子,你可以这么做:创建 Plugin config,如果这个路由已经配置了 plugins,那么 Plugin config ...
  • Apache APISIX文档-架构设计-Debug Mode 注意:在 APISIX 2.10 之前,开启基本调试模式曾经是设置 conf/config.yaml 中的 apisix.enable_debug 为 true。设置 conf/debug.yaml 中的选项,开启高级调试模式。由于 ...
  • Apache APISIX文档-架构设计-Consumer 如上图所示,作为 API 网关,需要知道 API Consumer(消费方)具体是谁,这样就可以对不同 API Consumer 配置不同规则。授权认证:比如有 [key-auth] 等。获取 consumer_...
  • 近期文章

    更多
    文章目录

      推荐作者

      更多