Распределение строк в greenplum
Доброго времени суток!
Имеется таблица с рандомным распределением
CREATE TABLE schema.table (
col1 int4 NULL,
col2 int4 NULL,
col3 int4 NULL
)
WITH (
appendonly=true,
compresstype=zstd,
orientation=column
)
DISTRIBUTED RANDOMLY;
Необходимо оптимально (с минимальным skew) распределить строки по одному полю. Для этого можно создавать тестовые таблицы вида
CREATE TABLE schema.test_table (
col_1 int4 NULL,
col_2 int4 NULL,
col_3 int4 NULL
)
WITH (
appendonly=true,
compresstype=zstd,
orientation=column
)
DISTRIBUTED BY (col_i);
INSERT INTO schema.test_table SELECT * FROM schema.table;
И затем проверять их на skew, например через
select * from gp_toolkit.gp_skew_coefficient('schema.test_table'::regclass);
Проблема заключается в том, что хочется проверять таблицу на перекосы без создания тестовых таблиц. Получится ли это сделать и если да, то каким образом?