大數據-jdbc並行插入數據

使用forkjoin和Guaua的集合類

     final int para_num = (int) (Runtime.getRuntime().availableProcessors() / 0.8);

        logger.info("併發度:" + para_num);

        List<List<Object[]>> partitions = Lists.partition(args, args.size() / para_num);

        ForkJoinPool forkJoinPool = new ForkJoinPool(para_num);

        forkJoinPool.submit(() -> {
            partitions.parallelStream().forEach(item -> {
                logger.info(Thread.currentThread().getName());
                 jdbcTemplate.batchUpdate(sql, item);
                logger.info("已導入數據【" + item.size() + "】條");
            });

        }).get();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章