Хорошо, сегодня я сделал что-то действительно глупое, что даже у моей мыши разрядилась батарея из-за слишком большого количества копий и вставок вручную ... Я ищу некоторую помощь, чтобы избежать повторной ручной работы.
Я никогда не использовал Redshift PSQL для написания UDF и написания кода Python в RedShift PSQL. Но я знаю, что это помогает нам писать код на языке Python в UDF, верно?
У меня вопрос, как написать метод в Redshift psql, который может повторять каждый столбец в таблице и выполнять этот же запрос y для каждого столбца:
select 'col1' as col_name,
percentile_cont(0.05) WITHIN GROUP (ORDER BY col1) as perct_5,
percentile_cont(0.1) WITHIN GROUP (ORDER BY col1) as perct_10,
percentile_cont(0.25) WITHIN GROUP (ORDER BY col1) as perct_25,
percentile_cont(0.5) WITHIN GROUP (ORDER BY col1) as perct_50,
percentile_cont(0.75) WITHIN GROUP (ORDER BY col1) as perct_75,
percentile_cont(0.9) WITHIN GROUP (ORDER BY col1) as perct_90,
percentile_cont(0.95) WITHIN GROUP (ORDER BY col1) as perct_95,
variance(col1) as col_var,
average(col1) as col_avg
from my_table;
Наконец, результатом будет таблица, содержащая все значения для каждого столбца, значения каждого столбца (процентили, дисперсия, avg) будут в 1 строке.
Это должно быть в Redshift , так как я пытался подключить Redshift через python и считывать данные как кадр данных pandas, но таблица огромна, прошло 1 час, pandas не завершил выполнение запроса. ..