0

我在 amazon s3 中有大约 500GB 的压缩数据。我想将此数据加载到 Amazon Redshift。为此,我在 AWS Athena 中创建了一个内部表,并尝试将数据加载到 Amazon Redshift 的内部表中。

将这些大数据加载到 Amazon Redshift 需要一个多小时。问题是当我触发一个查询以加载数据时,它会在 1 小时后中止。我尝试了 2-3 次,但 1 小时后它就中止了。我正在使用 Aginity Tool 来触发查询。此外,在 Aginity 工具中,它显示查询当前正在运行并且加载器正在旋转。

更多详细信息:Redshift 集群有 12 个节点,每个节点有 2TB 空间,我使用了 1.7TB 空间。S3 文件的大小不同。其中之一是 250GB。其中一些以 MB 为单位。

我正在使用命令

create table table_name as select * from athena_schema.table_name

它恰好在 1 小时后停止。

注意:我已将 Aginity 中的当前查询超时设置为 90000 秒。

4

2 回答 2

1

我知道这是一个旧线程,但是对于因为同样的问题来到这里的任何人,我已经意识到,至少就我而言,问题出在 Aginity 客户端;因此,它与 Redshift 或其工作负载管理器无关,而仅与称为 Aginity 的第三方客户端有关。总之,使用不同的客户端(如 SQL Workbench)并从那里运行 COPY 命令。

希望这可以帮助!卡洛斯 C.

有关我的环境的更多信息:

红移:

Cluster TypeThe cluster's type: Multi Node
Cluster: ds2.xlarge
NodesThe cluster's type: 4
Cluster Version: 1.0.4852 

客户端环境:

Aginity Workbench for Redshift
Version 4.9.1.2686 (build 05/11/17)
Microsoft Windows NT 6.2.9200.0 (64-bit)

网络:

Connected to OpenVPN, via SSH Port tunneling. 
The connection is not being dropped. This issue is only affecting the COPY command. The connection remains active. 

命令:

copy tbl_XXXXXXX 
from 's3://***************'
iam_role 'arn:aws:iam::***************:role/***************';

S3结构:

120 files of 6.2 GB each. 20 files of 874MB.

输出:

ERROR: 57014: Query (22381) cancelled on user's request

统计数据:

Start:    ***************
End:      ***************
Duration: 3,600.2420863
于 2018-11-30T16:05:25.177 回答
0

我不确定以下答案是否能解决您确切的 1 小时超时问题。但是,根据我的经验,在 Redshift 加载数据的情况下,通过 Copy 命令是最好和快速的方法。所以我觉得在你的情况下根本不应该发生超时问题。

RedShift 中的复制命令可以从 S3 或通过 SSH 加载数据。

例如简单复制

copy sales from 'emr://j-SAMPLE2B500FC/myoutput/part-*' iam_role 
'arn:aws:iam::0123456789012:role/MyRedshiftRole'
delimiter '\t' lzop;

例如使用清单

copy customer
from 's3://mybucket/cust.manifest' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
manifest;

PS:即使您使用 Menifest 将数据分成多个文件,RedShift 并行加载数据也会更快。

于 2018-04-11T09:29:22.970 回答