【问题标题】:I want to make a stream of small data by calling it again and again我想通过一次又一次地调用它来制作一个小数据流
【发布时间】:2019-10-01 19:21:43
【问题描述】:

我有一个问题,我有一个小的 CSV 数据,可以在 kafka 的帮助下在 flink 上启动。我的问题是我可以使用窗口和触发器一次又一次地调用相同的数据,还是它只会调用我的数据一次?

1,35
2,45
3,55
4,65
5,555 

这是我想一次又一次调用的数据。虽然我自己不这么认为,因为我是初学者,所以最好采取第二意见。感谢您的帮助

【问题讨论】:

    标签: apache-kafka apache-flink


    【解决方案1】:

    不知道你所说的一次又一次调用数据是什么意思。但是您可以使用 SourceFunction 在 Flink 中创建该数据的流。例如,以下源创建该 csv 文件的流并每秒发出一次。

    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    
    DataStream<String> csvStream = env.addSource(new SourceFunction<String>() {
        @Override
        public void run(SourceContext<String> sourceContext) throws Exception {
            String data = "1,35\n" +
                    "2,45\n" +
                    "3,55\n" +
                    "4,65\n" +
                    "5,555";
    
            while(true) {
                sourceContext.collect(data);
                TimeUnit.SECONDS.sleep(1);
            }
        }
    
        @Override
        public void cancel() {
    
        }
    });
    

    【讨论】:

    • 非常感谢,这就是我所要求的,但是只有在不打扰您的情况下,您才能添加 scala sn-p。不过谢谢
    • 抱歉,对 Scala 不太熟悉
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    相关资源
    最近更新 更多