您的位置 首页 教育

spark平台对获取数据做异步处理java版本

当对新老版本多比对测试时,对新老版本的返回值做一部处理,可以用先分区再对返回结果进行异步处理。 rstInfo…

当对新老版本多比对测试时,对新老版本的返回值做一部处理,可以用先分区再对返回结果进行异步处理。

        rstInfo = hiveInfo.repartition(5).javaRDD().mapPartitions(new FlatMapFunction<Iterator, TestCaseResult>() {
            @Override
            public Iterator call(Iterator iterator) throws Exception {
                List testCaseResultList = new ArrayList();
                while (iterator.hasNext()) {
                    String request = iterator.next();
                    TestCaseResult testCaseResult = new TestCaseResult();
                    String newRequest = request;
                    CompletableFuture future1 = CompletableFuture.supplyAsync(() -> HttpUtil.post(baseUrl, request));
                    CompletableFuture future2 = CompletableFuture.supplyAsync(() -> HttpUtil.post(testUrl, request));
                    TestCaseResult entity = CompletableFuture.allOf(future1, future2).thenApply(r -> {
                      //对返回值进行处理
                    }).join();
                    testCaseResultList.add(entity);
                }
                return testCaseResultList.iterator();
            }
        });

注意,hiveInfo是Dataset格式的。

本文来自网络,不代表0514资讯网立场,转载请注明出处:https://www.0514zx.com/info/6369.html
0514zx.com

作者: 0514zx.com

优质职场领域创作者
联系我们

联系我们

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部