Каков размер блока по умолчанию для корзины s3?

Пишу паркетный файл в s3. Я должен знать размер блока s3, чтобы я мог соответственно установить размер группы строк. как 1 размер группы строк = размер блока s3 по умолчанию. (размер группы строк по умолчанию в паркете составляет 128 МБ. Но если попытаться получить смещения строк из метаданных групп строк, я получаю, что каждая группа строк потребляет около 116 МБ. Почему это так?

Например: файл размером 148,7 МБ состоит из 2 групп строк.

row group 1:     RC:2870100 TS:429678457 OFFSET:4 
row group 2:     RC:759588 TS:108434365 OFFSET:123729384 

каждая группа строк потребляет примерно 116 МБ данных.


person pg20    schedule 31.05.2016    source источник
comment
S3 — это хранилище на основе объектов, поэтому единственное применимое ограничение — размер файла 5 ТБ. Чего вы пытаетесь достичь с помощью S3?   -  person error2007s    schedule 31.05.2016
comment
Я пытаюсь прочитать каждую группу строк в каждой задаче, чтобы увеличить параллелизм. Но это не так. Я указал размер каждой группы строк по умолчанию 128 МБ. Но я считаю, что размер группы строк может быть меньше этого. Почему это так ?   -  person pg20    schedule 06.06.2016


Ответы (1)


Как уже упоминалось, размер файла не ограничивается S3 этим уровнем.

Хотя вы не упомянули, как вы пишете в S3, то, как вы пишете, является здесь вероятным подозреваемым.

Простым примером может быть то, что если вы пишете со Spark и делаете это параллельно.

Хотя я не проверял, автоматически ли spark распараллеливает запись, простым первым шагом было бы установить параллелизм на 1, независимо от того, какое приложение вы используете для записи.


Две вещи, которые могут помочь подтвердить, что это правильное решение:

  1. Загрузите файл на S3 с помощью другого инструмента, который не выполняет параллельную обработку, или даже вручную
  2. Запишите приложение в другое место, отличное от S3.
person Dennis Jaheruddin    schedule 07.08.2020