Размер хранилища паркета выше для дубликатов данных - PullRequest
2 голосов
/ 04 мая 2020

У меня есть набор данных, имеющий около 2 миллиардов строк в формате паркета, который охватывает 200 файлов. Он занимает 17,4 ГБ на S3. Этот набор данных имеет около 45% повторяющихся строк. Я дедуплицировал набор данных с использованием «отдельной» функции в Spark и записал его в другое место на S3.

Я ожидал, что объем хранилища данных уменьшится вдвое. Вместо этого дедуплицированные данные заняли 34,4 ГБ (вдвое больше, чем дубликаты).

Я взял, чтобы проверить метаданные этих двух наборов данных. Я обнаружил, что существует разница в кодировке столбцов дублирующихся и дедуплицированных данных.

Разница в кодировках столбцов

Я хочу понять, как получить ожидаемое поведение уменьшения размера хранилища.

Сказав это, у меня есть еще несколько вопросов:

  1. Я также хочу понять, влияет ли эта аномалия на производительность каким-либо образом. В моем процессе я должен применить множество фильтров к этим столбцам и использовать функцию distinct, сохраняя при этом отфильтрованные данные.
  2. Я видел в нескольких паркетных блогах онлайн, что кодировка для столбца только одна. В этом случае я вижу несколько кодировок столбцов. Это нормально?
...