使用Java从Greenplum向PostgreSQL进行大量数据传输(获取并插入4000万条记录)

时间:2019-07-02 10:05:42

标签: java postgresql spring-boot

我有一个场景,可以在一次触发中加载4000万到1亿条记录。因此,能否请您提出从Greenplum获取记录并将其插入PostgreSQL的最佳方法。

另外,请提出建议,因为增加内存大小会增加负载。

目前,我正在使用batchUpdate()和JDBCTemplate

postgresqlJdbcTemplate.batchUpdate(insertOpportunitiesDataQuery, new BatchPreparedStatementSetter() {
                @Override

                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    Opportunities Opportunities = OpportunitiesList.get(i);
                    ps.setString(1, Opportunities.getOpptyId());
                    ps.setString(2, Opportunities.getOpptySalesStage());
                    ps.setDouble(3, Opportunities.getLineAmountUsd());
                    ps.setString(4, Opportunities.getMustWinIndicator());
                    ps.setString(5, Opportunities.getLineType());
                    ps.setInt(6, Opportunities.getExpectedOrderYear());
                    ps.setInt(7, Opportunities.getExpectedOrderQuarter());
                }
                @Override
                public int getBatchSize() {
                    return OpportunitiesList.size();
                }
              });

0 个答案:

没有答案