【问题标题】:Stop spark streaming停止火花流
【发布时间】:2016-02-10 21:37:09
【问题描述】:

在处理文件中的 100 条记录后,我想在 spark 中停止 java 流上下文。问题是流启动时 if 语句中的代码未执行。下面的代码将解释我的想法:

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

        int ff = testSparkStreaming();

        System.out.println("wqwqwq");
        System.out.println(ff);

    }


    public static int testSparkStreaming() throws IOException, InterruptedException {

        int numberInst = 0
        String savePath = "Path to Model";
        final NaiveBayesModel savedModel = NaiveBayesModel.load(jssc.sparkContext().sc(), savePath);

        BufferedReader br = new BufferedReader(new FileReader("C://testStream//copy.csv"));
        Queue<JavaRDD<String>> rddQueue = new LinkedList<JavaRDD<String>>();
        List<String> list = Lists.newArrayList();
        String line = "";
        while ((line = br.readLine()) != null) {
            list.add(line);
        }
        br.close();

        rddQueue.add(jssc.sparkContext().parallelize(list));
        numberInst+= list.size();
        JavaDStream<String> dataStream = jssc.queueStream(rddQueue);
        dataStream.print();

        if (numberInst == 100){
             System.out.println("should stop");
             jssc.wait();
        }
        jssc.start();
        jssc.awaitTermination();

        return numberInst;

}

我的问题是如何在 numberInst == 100 时停止流式传输并将执行移至 main 方法以运行以下语句。

P.S:在前面的代码中,没有执行If语句:

        if (numberInst == 100){
             System.out.println("should stop");
             jssc.wait();
        }

【问题讨论】:

    标签: java apache-spark spark-streaming


    【解决方案1】:

    你可以试试这个:

        jssc.start();
    
        while (numberInst < 100){
            jssc.awaitTerminationOrTimeout(1000); // 1 second polling time, you can change it as per your usecase
        }
    
        jssc.stop();
    

    【讨论】:

      【解决方案2】:

      你有没有尝试像线程一样停止这个,我的意思是中断。

      【讨论】:

      • 我必须在哪里写停止语句??!!如果我在 if 语句中编写它,它将不会执行,因为正如我之前所写的,IF 语句在开始流式传输后不会执行。你能给我一个例子来说明如何使用线程来做到这一点。
      猜你喜欢
      • 2020-05-29
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      相关资源
      最近更新 更多