Flink DataStream API - Sink 结果输出

DataStream API - Sink

    • 打印至控制台
    • 打印至文本文件
    • 打印至csv文件
    • 打印至scoket
    • 通过连接器打印到Kafka

打印至控制台

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
text.print().setParallelism(1);

打印至文本文件

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至文本文件
text.writeAsText(String path).setParallelism(1);

打印至csv文件

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
text.writeAsCsv(String path).setParallelism(1);

打印至scoket

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
text.writeToSocket(hostName, port, schema).setParallelism(1);

通过连接器打印到Kafka

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
String kafkaTopic = params.get("kafka-topic");
String brokers = params.get("brokers", "localhost:9092");
text.addSink(new FlinkKafkaProducer010(brokers, kafkaTopic, (SerializationSchema) new EventDeSerializer())).setParallelism(1);

你可能感兴趣的:(大数据计算框架,-,Flink)