Попробуйте объявить текстовые столбцы в этой таблице как VARCHAR, а не STRING.Также убедитесь, что вы используете минимально возможный размер VARCHAR для столбца, чтобы уменьшить объем памяти, необходимый для GROUP BY.
Кроме того, есть еще два предложения:
Рекомендуется всегда использоватькак минимум 2 узла Redshift.Это дает вам свободный узел-лидер и позволяет вашим вычислительным узлам использовать всю свою оперативную память для обработки запросов.
Группировка по стольким столбцам - необычный шаблон запроса.Если вы ищете дубликаты в таблице, рассмотрите возможность хэширования столбцов в одно значение и группировки по ним.Вот пример:
SELECT MD5(ws_sold_date_sk
||ws_sold_time_sk
||ws_ship_date_sk
||ws_item_sk
||ws_bill_customer_sk
||ws_bill_cdemo_sk
||ws_bill_hdemo_sk
||ws_bill_addr_sk
||ws_ship_customer_sk
||ws_ship_cdemo_sk
||ws_ship_hdemo_sk
||ws_ship_addr_sk
||ws_web_page_sk
||ws_web_site_sk
||ws_ship_mode_sk)
, COUNT(*)
FROM spectrum.web_sales
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10
;