1、Flink connectors
关于Flink connectors,Flink 1.1提供了许多内置的第三方连接器,这些connectors包括:
Apache Kafka (sink/source)
Elasticsearch (sink)
Elasticsearch 2x (sink)
Hadoop FileSystem (sink)
RabbitMQ (sink/source)
Amazon Kinesis Streams (sink/source)
Twitter Streaming API (source)
Apache NiFi (sink/source)
Apache Cassandra (sink)
Redis (sink)
可以看到,第三方软件中,可以作为source的软件有:
Apache Kafka、RabbitMQ、Twitter Streaming API和Apache NiFi。
可以作为sink的软件包括Apache Kafka、Apache Cassandra、Redis等。
除了Flink内置支持的这些第三方软件之外,Flink也提供了自定义的source以及自定义的Sink。
2、关于Sink to JDBC
Flink的DataStream在计算完成后,就要将结果输出,目前除了上述提到的Kafka、Redis等之外,Flink也提供了其他几种方式:
writeAsText() / TextOutputFormat: 将元素按照行输出,每行当做一个字符串
writeAsCsv(...) / CsvOutputFormat: 将每行的元组按照特定的格式划分,然后输出到csv
print() / printToErr() :标准输出,错误输出。也是把每行按照字符串方式输出到taskmanager的out文件
writeUsingOutputFormat() / FileOutputFormat:自定义的文件输出
writeToSocket:根据序列化的sckame将元素写入socket
addSink:通过invoke方法自定义sink
其中,addSink就是我们这里要说的“自定义Flink sink”。既然是自定义,