0

我正在使用 Amazon Redshift JDBC 驱动程序连接到 SQL Workbench/J 上的 Redshift。

我想获得一个大型数据集查询结果(数百万行)。

乍一看,WbExport 似乎有答案(http://www.sql-workbench.net/manual/command-export.html)。

但是,它似乎想在尝试将整个结果集导出到文件之前将其加载到内存中,给我一个内存警告并中止对我的查询,甚至没有创建输出文件,所以这种方法似乎不起作用。

有没有更好的方法不涉及放弃 SQL Workbench 和 JDBC 连接?如果没有,建议的可行替代方案是什么,可以最大限度地减少新工具的数量或必要的访问?

4

3 回答 3

0

强烈建议您不要尝试从 Redshift 检索数百万行作为查询结果。这是非常低效的,它会在运行时减慢集群的速度。

而是使用UNLOAD查询将数据并行提取到 S3。UNLOAD将快 100 倍至 1000 倍。https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html

于 2017-11-21T15:32:37.680 回答
0

虽然对 redshift 不是很有效,但如果你真的需要它,你应该可以为工作台设置 fetchsize - http://www.sql-workbench.net/manual/profiles.html

关于相同的 Aws redshift 文档 - https://docs.aws.amazon.com/redshift/latest/dg/queries-troubleshooting.html#set-the-JDBC-fetch-size-parameter

于 2020-02-10T15:41:19.080 回答
-1

您可以使用最快的方法。1.卸载数据到S3。2.然后从S3下载数据。

于 2020-02-11T11:53:32.220 回答