Flink DataStream API编程

本文详细介绍了Flink的DataStream API,包括数据流的创建、转换、数据源和接收器的使用。通过示例展示了如何从Web套接字进行5秒窗口的单词计数。Flink提供了多种预定义的数据源,如基于文件、套接字和集合的源,以及如何自定义数据源。文章还提到了数据接收方式,如写入文本、CSV文件或通过套接字,并强调了write*()方法的至少一次语义。此外,还讨论了迭代流程序的实现和执行参数的配置,如自动水印发射间隔和缓冲区超时等。
摘要由CSDN通过智能技术生成

DataStream API

Flink 的DataStream程序四实现数据流转换的常规程序(例如L过滤, 更新状态,定义窗口,聚合).最初从各种源(例如,消息队列,套接字流,文件)创建数据流。结果通过接收器返回,接收器可以例如将数据写入文件或标准输出(例如命令行终端)。Flink程序可以在各种环境中运行,独立运行或嵌入其他程序中。执行可以在本地JVM中执行,也可以在许多计算机的集群上执行。

示例程序
一下程序是流窗口字数统计应用程序的完整工作示例,它在5秒窗口中对来自Web套接字的单词进行计数.可以复制代码在本地运行

package com.window;

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.windowing.time.Time;
import org.apache.flink.util.Collector;

public class WindowWordCount {

    public static void main(String[] args) throws Exception {

        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

        DataStream<Tuple2<String, Integer>> dataStream = env.socketTextStream("192.168.190.112", 9999)
                .flatMap(new Splitter()).keyBy(0)<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值