у вас одна широкая таблица. Это хорошо для КХ. как раз его кейс так как в КХ есть тонкости( скажем так :-)) с джойнами, но для запросов по одной таблице(включая группировки) он порвет hive( по скорости выполнения) как тузик грелку :-).
КХ хранит каждую колонку в отдельном файле и жмет ее. Либо через LZ4 по умолчанию, либо если хотите, то иначе (указывается на уровне колонки). Посмотрите про кодеки
https://clickhouse.yandex/docs/ru/query_language/create/#codecs. Причем обратите внимание на возможности LowCardinality (можно тут почитать
https://www.altinity.com/blog/2019/3/27/low-cardinality)
, что фактически является кодирование по словарю.
Вот как данные в orc хранятся я не знаю, знаю только что там тоже есть кодирование по словарю как и в КХ
и вроде оно даже само включается, а к КХ вам нужно будет при создании колонки установить это.
в файле КХ не нужно для каждого файла хранить мета-информацию о типах и схеме. Она хранится один раз
для всех файлов. в КХ у вас будет возможность создать разные идексы( для разных колонок).
Это позволит вам избегать FS в каких-то еще случаях в дополнению к тем, когда в ваших
запросах участвует столбцы из первичного ключа/ключа сортировки.
В целом не обладая знаниями по orc не могу придумать, что позволит хранить более компактно
чем КХ. ведь КХ хранит 1) каждую колонку в своем файле 2) жмет 3)использует кодирование по словарю 4)использует нативный формат для данных.