По крайней мере, в случае файлов Parquet, столбцы сжимаются независимо. Наличие одного и того же значения несколько раз подряд часто сжимается очень хорошо, но дублирование столбца также означает дублирование необходимого хранилища.
Для Parquet схема сжатия примерно равна:
на столбец, разделить на RowGroups (чаще всего по одному на файл, иногда больше, но обычно очень небольшое количество). Для RowGroup кодируйте значения (обычно это кодировка словаря или кодировка длины строки). Разделите закодированные строки примерно на границы 16 КБ / 1 МБ с именем "pages". Сжатие каждой страницы индивидуально с помощью универсального кода сжатия c, например, GZIP или ZStandard.