Есть ли альтернатива для GroupReduceFunction, выполняющей apache-flink java параллельно? - PullRequest
0 голосов
/ 19 октября 2019

Код ниже работает локально, но не в кластере. Он зависает на GroupReduceFunction и не завершается даже после нескольких часов (для больших данных требуется ~ 9 минут для локальных вычислений). Последнее сообщение в журнале:

GroupReduce (GroupReduce at main(MyClass.java:80)) (1/1) (...) switched from DEPLOYING to RUNNING.

Фрагмент кода:

DataSet<MyData1> myData1 = env.createInput(new UserDefinedFunctions.MyData1Set());
DataSet<MyData2> myData2 = DataSetUtils.sampleWithSize(myData1, false, 8, Long.MAX_VALUE)
                .reduceGroup(new GroupReduceFunction<MyData1, MyData2>() {
                    @Override
                    public void reduce(Iterable<MyData1> itrbl, Collector<MyData2> clctr) throws Exception {
                        int id = 0;
                        for (MyData1 myData1 : itrbl) {
                            clctr.collect(new MyData2(id++, myData1));
                        }
                    }
                });

Есть идеи, как я могу запустить этот сегмент параллельно? Заранее спасибо!

...