Size: a a a

2021 August 01

ЕГ

Евгений Глотов... in Moscow Spark
Найдёт оффсеты, каждый оффсет может быть хоть в своём блоке, вот данные читать дальше будет параллельно
источник

ПФ

Паша Финкельштейн... in Moscow Spark
На s3 вот мы не знаем нами ли блоки, например
источник

ПФ

Паша Финкельштейн... in Moscow Spark
А поскольку каждый блок ещё и реплицирован - если повезёт далее не упрётся в чтение с одного диска
источник

SI

Sergey Ivanychev in Moscow Spark
Окей, то есть по факту с размером блока в HDFS это никак не связано? Твой поинт что I/O параллелится за счёт блоков?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ну, не настраиввется так типа "хочу читать по 1кб данных, чтоб они превращались в один инпут таск"
источник

NN

No Name in Moscow Spark
Мне казалось, что там спокойно инпут сплит сайз указывается, не?
источник

ЕГ

Евгений Глотов... in Moscow Spark
За счёт инпут сплитов, они могут быть меньше блока
источник

ЕГ

Евгений Глотов... in Moscow Spark
Указывается да, а кто-нибудь проверял, работает ли он так, как предполагается?😆
источник

NN

No Name in Moscow Spark
Ну я, честно говоря, особо не игрался.
По крайней мере, до килобайтов.
Он у тебя тупо игнорил твои вводные?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Я своими руками пытался прочитать третью строчку паркета не читая первые две. Это очень, очень сложно (хотя теоретически возможно). В спарке такой фасилити нет, будет читать минимум страйдами. Но вот вероятно дальше он может данные раскидать
источник

ЕГ

Евгений Глотов... in Moscow Spark
Не игнорил, но зависимость какая-то сильно нелинейная)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Сложно это потому что надо много занудной арифметики, учитывающей сжатие, шифрование и так далее во всех возможных комбинациях
источник

SI

Sergey Ivanychev in Moscow Spark
Кстати, есть какие-то лучшие практики на тему какой кодек компрессии лучше с паркетом использовать?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Если у вас совсем напряг с местом, и нужно впихнуть невпихуемое - наверно имеет смысл перейти на гзип, а так снаппи и быстрее, и жмёт ок
источник

NN

No Name in Moscow Spark
Понял
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Снэппи )
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но вообще лучше орк ЕМНИП, там лучше получается сжатие потому что формат немного умнее
источник

NN

No Name in Moscow Spark
+
источник

ДД

Джон Дориан... in Moscow Spark
Спасибо за помощь!
Правильно ли я понимаю - количество spark-партиций при чтении этого паркета на следующем шаге пайплайна будет зависеть от maxPartitionBytes, а не от количества паркетов в директории, откуда производится чтение?
И даже если я на предыдущем шаге при записи запихнул 2 Гб в один паркет с помощью coalesce(1) - в случае если  maxPartitionBytes=128Мб мой датасет на 2Гб будет разбит при чтении спарком на 16 партиций? (2Gb dataset size / 128Mb maxPartitionBytes)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Кстати, раз уж про орк: если на полу колонку применились одновременно delta и run length энкодинг - то прочитать n строчку будет так дорого, что легче прочитать и забыть предыдущие строки )
источник