Size: a a a

2022 January 11

A

Alex in Moscow Spark
сразу удалили, а потом сказали "у вас параметр неправильный, попробуйте ещё раз"
источник

NN

No Name in Moscow Spark
Ой дичь какая
источник

A

Alex in Moscow Spark
кто там на log4j жаловался? =)
источник

v

v in Moscow Spark
Мне кажется это тонкий намек от оракла чтобы мы покупали их решения для бекапов
источник

v

v in Moscow Spark
Хотя коммит где из-за лишнего пробела делался rm -rf в корне не переплюнуть. По-моему что-то с видеодрайверами.
источник

NB

Nikita Bakanchev in Moscow Spark
Красиво
источник

A

Alex in Moscow Spark
да, бамблбии для нвидии
источник

k

kvadratura in Moscow Spark
ну, если у кого-то спарк пишет в raw data, то это не спарк виноват..
источник
2022 January 12

D

Dmitriy in Moscow Spark
Подскажите, пожалуйста, есть вариант писать df в hdfs, ограничив размер файла снизу? Есть вариант, конечно, но он костыльный с предварительной оценкой размера файлов parquet
источник

k

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

решения small files problem, которые я знаю -
1. repartition (включая соленый repartition, если есть data skew)
2. тюнить spark parallelism
3. юзать delta lake - в опен сорс версии там можно периодически мержить файлы, но это вроде будет full scan. и я не помню, атомарная ли это операция (не упадут ли readers, читающие файлы в момент мержа)
4. мержить файлы через parquet tools. это достаточно быстро, т. к. в этом случае не мержатся row groups, а просто аппендятся, грубо говоря
5. у hive на managed таблицах есть конфиги, позволяющие выполнять merge атомарно при записи. можно также пофиксить таблицы, где есть уже мелкие файлы. другое дело, что hive managed tables в проде - хз, надо ли

1,2,3 я использовал, работает. 4,5 - нет. хз, как работает
источник

D

Dmitry in Moscow Spark
Пункт 3 липа, merge тучи мелких файлов плодит
источник

MB

Maxim Buylin in Moscow Spark
источник

k

kvadratura in Moscow Spark
вы что-то неправильно делали, значит
источник

MB

Maxim Buylin in Moscow Spark
На 33 минуте на мой взгляд неплохо рассказывает про варианты, как управлять количеством файлов на выходе. Я на практике использую дополнительную джобу, которая делает coalesce исходя из количества и размера файлов.
источник

D

Dmitry in Moscow Spark
Скорее вы не понимаете что такое merge. Если я вмердживаю датасет с тремя новыми строками, почти нверняка будет три новых мелких файлика, т.к нверняка все три окажутся на разных экзекьюторах. Никакой магии укрупнять у дельты нет
источник
2022 January 13

D

Dmitry in Moscow Spark
Repartition output data before write: For partitioned tables, merge can produce a much larger number of small files than the number of shuffle partitions. This is because every shuffle task can write multiple files in multiple partitions, and can become a performance bottleneck. In many cases, it helps to repartition the output data by the table’s partition columns before writing it. You enable this by setting the Spark session configuration spark.databricks.delta.merge.repartitionBeforeWrite.enabled to true.
источник

N

Nikita Blagodarnyy in Moscow Spark
@pklemenkov запинишь? Годный видос.
источник

N

Nikita Blagodarnyy in Moscow Spark
В народном хозяйстве помогает.
источник

k

kvadratura in Moscow Spark
под merge files я понимал вот это

https://docs.delta.io/latest/best-practices.html#compact-files

да, слово неверное, согласен, т. к. есть операция merge
источник

GP

Grigory Pomadchin in Moscow Spark
держи, если полезен пусть будет в пине
источник