Skip to main content
Version: 2.1.0

Quick start

Let's take an application that receives data through a socket , divides the data into multiple fields, and outputs the processing results as an example to quickly show how to use seatunnel .

If you are familiar with Flink or have prepared the Flink operating environment, you can ignore this step. Flink does not require any special configuration.

Please download Flink first, please choose Flink version >= 1.12.0 and version < version < 1.14.x . The download is complete to install Flink

Step 2: Download seatunnel

Enter the seatunnel installation package download page and download the latest version of seatunnel-<version>.zip

Or download the specified version directly (take 2.0.4 as an example):

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

After downloading, unzip:

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

Step 3: Configure seatunnel

  • Edit config/seatunnel-env.sh , specify the necessary environment configuration such as FLINK_HOME (the directory after Flink downloaded and decompressed in Step 1)

  • Edit config/application.conf , it determines the way and logic of data input, processing, and output after seatunnel is started.

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{
separator = "#"
fields = ["name","age"]
}
sql {
sql = "select * from (select info,split(info) as info_row from fake) t1"
}
}

sink {
ConsoleSink {}
}

Step 4: Start the netcat server to send data

nc -l -p 9999

Step 5: start seatunnel

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

Step 6: Input at the nc terminal

xg#1995

It is printed in the TaskManager Stdout log of flink WebUI:

xg#1995,xg,1995

Summary

If you want to know more seatunnel configuration examples, please refer to:

The above configuration is the default [streaming configuration template] , which can be run directly, the command is as follows:

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

The above configuration is the default [offline batch configuration template] , which can be run directly, the command is as follows:

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