上文《Flink应用开发系列(六)DataSet开发之自带的读取数据源函数》我们介绍了Flink读取数据源的自带函数,本文的话,我们介绍下Flink写入存储的自带函数。
序号 | 函数 | 说明 | 示例 |
1 | writeAsText() | 按字符串顺序写入数据元。通过调用每个数据元的toString()方法获得字符串。 | textData.writeAsText("file:///my/result/on/localFS"); |
2 | writeAsFormattedText() | 按字符串顺序写数据元。通过为每个数据元调用用户定义的format()方法来获取字符串。 | values.writeAsFormattedText("file:///path/to/the/result/file", new TextFormatter<Tuple2<Integer, Integer>>() { public String format (Tuple2<Integer, Integer> value) { return value.f1 + " - " + value.f0; } }); |
3 | writeAsCsv(…) | 将元组写为逗号分隔值文件。行和字段分隔符是可配置的。每个字段的值来自对象的toString()方法。 | values.writeAsCsv("file:///path/to/the/result/file", "\n", "|"); |
4 | print() | 在标准输出/标准错误流上打印每个数据元的toString()值。可选地,可以提供前缀(msg),其前缀为输出。这有助于区分不同的打印调用。如果并行度大于1,则输出也将与生成输出的任务的标识符一起添加。 | wordCounts.print(); |
5 | output() | 大多数通用输出方法,用于非基于文件的数据接收器(例如将结果存储在数据库中)。可以将DataSet输入到多个 算子操作。程序可以编写或打印数据集,同时对它们执行其他转换。 | myResult.output( // build and configure OutputFormat JDBCOutputFormat.buildJDBCOutputFormat() .setDrivername("org.apache.derby.jdbc.EmbeddedDriver") .setDBUrl("jdbc:derby:memory:persons") .setQuery("insert into persons (name, age, height) values (?,?,?)") .finish() ); |
以上就是关于flink中dataset写入存储的自带函数。
还没有评论,来说两句吧...