Запрос Amazon RedShift прерывается автоматически через 1 час

У меня есть около 500 ГБ сжатых данных в Amazon S3. Я хотел загрузить эти данные в Amazon Redshift. Для этого я создал внутреннюю таблицу в AWS Athena и пытаюсь загрузить данные во внутреннюю таблицу Amazon Redshift.

Загрузка этих больших данных в Amazon Redshift занимает более часа. Проблема в том, что когда я запускаю запрос для загрузки данных, он прерывается через 1 час. Я пробовал это 2-3 раза, но это прерывается через 1 час. Я использую Aginity Tool для запуска запроса. Кроме того, в инструменте Aginity он показывает, что запрос в данный момент выполняется, а загрузчик вращается.

Более подробная информация: кластер Redshift имеет 12 узлов по 2 ТБ для каждого узла, и я использовал 1,7 ТБ. S3 файлы не одного размера. Один из них 250 ГБ. Некоторые из них в МБ.

Я использую команду

создать таблицу table_name как select * из athena_schema.table_name

он останавливается ровно через 1 час.

Примечание: я установил текущее время ожидания запроса в Aginity на 90000 сек.

2 ответа

Я знаю, что это старая ветка, но для любого, кто приезжает сюда из-за той же проблемы, я понял, что, по крайней мере, в моем случае, проблема была в клиенте Aginity; таким образом, он не связан с Redshift или его Workload Manager, а только с таким сторонним клиентом, который называется Aginity. Таким образом, используйте другой клиент, такой как SQL Workbench, и выполните команду COPY оттуда.

Надеюсь это поможет! Карлос С.

Больше информации о моей среде:

Redshift:

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

Я не уверен, что следующий ответ решит вашу проблему с тайм-аутом ровно через 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;

например, используя Menifest

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

PS: даже если вы сделаете это с помощью Menifest и разделите ваши данные на несколько файлов, это будет быстрее, так как RedShift загружает данные параллельно.

Другие вопросы по тегам