Skip to main content
Version: Next

Socket

Socket source connector

Support Those Engines

Spark
Flink
SeaTunnel Zeta

Key features

Description

Used to read newline-delimited text data from a socket server. Each line received from the socket becomes one SeaTunnel row.

Data Type Mapping

Socket source reads each incoming line as a string record.

SeaTunnel Data type
STRING

Options

NameTypeRequiredDefaultDescription
hostStringYes_socket server host
portIntegerYes_socket server port
common-optionsno-Source plugin common parameters, please refer to Source Common Options for details.
tip

Socket source is mainly used for local debugging and simple text streams. It does not checkpoint socket-server offsets, so it should not be used when replayable, exactly-once reads are required.

How to Create a Socket Data Synchronization Jobs

  • Configuring the SeaTunnel config file

The following example demonstrates how to create a data synchronization job that reads data from Socket and prints it on the local client:

# Set the basic configuration of the task to be performed
env {
parallelism = 1
job.mode = "BATCH"
}

# Create a source to connect to socket
source {
Socket {
host = "localhost"
port = 9999
}
}

# Console printing of the read socket data
sink {
Console {
parallelism = 1
}
}
  • Start a port listening
nc -l 9999
  • Start a SeaTunnel task

  • Socket Source send test data

~ nc -l 9999
test
hello
flink
spark
  • Console Sink print data
[test]
[hello]
[flink]
[spark]

Changelog

Change Log
ChangeCommitVersion
[improve] socket options (#9517)https://github.com/apache/seatunnel/commit/af83a302cf2.3.12
[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)https://github.com/apache/seatunnel/commit/6b7c53d03c2.3.9
[Improve] Remove use SeaTunnelSink::getConsumedType method and mark it as deprecated (#5755)https://github.com/apache/seatunnel/commit/8de74081002.3.4
[Improve][build] Give the maven module a human readable name (#4114)https://github.com/apache/seatunnel/commit/d7cd6010512.3.1
[Improve][Project] Code format with spotless plugin. (#4101)https://github.com/apache/seatunnel/commit/a2ab1665612.3.1
[Feature][Connector] add get source method to all source connector (#3846)https://github.com/apache/seatunnel/commit/417178fb842.3.1
[Hotfix][OptionRule] Fix option rule about all connectors (#3592)https://github.com/apache/seatunnel/commit/226dc6a1192.3.0
[Improve][Connector-V2][Socket] Unified exception for socket source & sink connector (#3511)https://github.com/apache/seatunnel/commit/581292f2102.3.0
[feature][connector][socket] Add Socket Connector Option Rules (#3317)https://github.com/apache/seatunnel/commit/b85317bcbe2.3.0
[Improve][all] change Log to @Slf4j (#3001)https://github.com/apache/seatunnel/commit/6016100f122.3.0-beta
[DEV][Api] Replace SeaTunnelContext with JobContext and remove singleton pattern (#2706)https://github.com/apache/seatunnel/commit/cbf82f755c2.2.0-beta
[#2606]Dependency management split (#2630)https://github.com/apache/seatunnel/commit/fc047be69b2.2.0-beta
[Feature][Connector-V2] Socket Connector Sink (#2549)https://github.com/apache/seatunnel/commit/94f4600a4e2.2.0-beta
[api-draft][Optimize] Optimize module name (#2062)https://github.com/apache/seatunnel/commit/f79e3112b12.2.0-beta