概述

  此篇是 Flink数据流API编程指南-上 的补充,链接

Data Sinks

  Data sinks消费数据流并向文件、sockets、外部存储系统或打印它们, Flink 提供了几种内置的写入的方式:

  • writeAsText() / TextOutputFormat -将元素逐行写入字符串。通过调用每个元素的toString()方法获得string。

  • writeAsCsv(…) / CsvOutputFormat - 将元组写入以逗号分隔的值文件。行和字段分隔符是可配置的。每个字段的值来自对象的toString()方法。

  • print() / printToErr() - 打印标准输出/标准错误流中每个元素的toString()值。可选地,可以提供一个前缀(msg),它被附加到输出。这可以帮助区分不同的打印调用。如果并行度大于1,输出也将加上产生输出的任务的标识符。

  • writeUsingOutputFormat() / FileOutputFormat - 支持方法和基类用于自定义文件输出。支持自定义对象到字节的转换。

  • writeToSocket - 根据SerializationSchema将元素写入socket

  • addSink -调用自定义接收函数。Flink与其他系统(如Apache Kafka)的连接器捆绑在一起,这些系统被实现为接收函数。

  注意,数据流上的 write*() 方法主要用于调试目的。它们不参与Flink的检查点,这意味着这些函数通常具有至少一次的语义。将数据刷新到目标系统取决于OutputFormat的实现。这意味着并非发送到OutputFormat的所有元素都会立即显示在目标系统中。此外,在失败的情况下,这些记录可能会丢失。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部