【发布时间】:2019-12-18 09:06:27
【问题描述】:
这是我正在使用的命令:
unload ('select * from SPEC_BFO.CASE_HISTORY where (INTEGRATION_ID,LAST_OPERATION_DATE) IN (SELECT INTEGRATION_ID,max(LAST_OPERATION_DATE) from SPEC_BFO.CASE_HISTORY group by INTEGRATION_ID)') to 's3://use-s3-dwnam-qa/NAM/SPEC_BFO/CASE_HISTORY/VIEW_CASE_HISTORY/VIEW_CASE_HISTORY.' iam_role 'arn:aws:iam::111111111111:role/use-redshift-dwnam-qa' delimiter '|' PARALLEL OFF header ALLOWOVERWRITE gzip;
收到此错误:
('There is a problem:', InternalError('S3 Query Exception (Fetch)\nDETAIL: \n -----------------------------------------------\n error: S3 Query Exception (Fetch)\n code: 15001\n context: Request ran out of memory in the S3 query layer.\n query: 8163346\n location: dory_util.cpp:1083\n process: asyncrequest_thread [pid=112556]\n -----------------------------------------------\n\n',))
远程脚本调用失败,此脚本将停止。
【问题讨论】:
-
您似乎想要执行与
DISTINCT ON等效的操作,但遗憾的是 Redshift 不支持。您也许可以使用窗口函数来实现相同的目标,而不必使用如此复杂的IN语句。 -
您是否尝试过不带
PARALLEL OFF参数的查询是否有效? -
@botchniaque 是的,我尝试关闭并列,但还是失败了
标签: amazon-web-services amazon-s3 amazon-redshift