【发布时间】:2018-06-29 11:08:29
【问题描述】:
我在 postgres 数据库中有一个表(实际上是 AWS redshift),该表中的数据需要经过一些操作后导出为 CSV。 举个例子, 考虑一个表 Test,包含 A、B、C、D 列。
Column A, Column B, Column C, Column D
ValueA1 , ValueB1 , ValueC1 , 1
ValueA1 , ValueB2 , ValueC2 , 2
其中 A、B、C 是字符串,D 是整数。
此表中的条目表示对于A列,B列,C列的值,D是计数。
A、B、C之间的关系是层次A > B > C。
我的要求是 CSV 必须有对应于 postgres rollup 操作的数据。 IE, CSV 示例:
Column A, Column B, Column C, Sum(D)
ValueA1 , , , 3
, ValueB1 , , 1
, , ValueC1 , 1
, ValueB2 , , 2
, , ValueC2 , 2
目前,我的方法是对 A、B、C 进行分组并获得 D 列的总和。应用程序中正在进行分层聚合。 我无法一次获得全部结果(7000 万左右),但如果我在 postgres 中使用 limit 和 offset 以分页方式获取数据,我可能最终会拆分导致 ValueA 的分层数据在 CSV 中出现过两次(或更多次)。
应用程序是使用 Java 和 JOOQ 构建的。数据被发送到前端(使用 react 构建)并在那里写入 CSV。
感谢有关如何完成此 CSV 的任何帮助。
【问题讨论】:
标签: java postgresql csv bigdata amazon-redshift