Size: a a a

2021 February 05

M

Mi in Moscow Spark
Ну я вот пока думаю какие есть варианты и насколько они дорогие
источник

ИК

Иван Калининский... in Moscow Spark
или это стрим? Тогда так и надо написать, найдутся знающие товарищи. Но для стрима обычно другая проблема - много мелких файлов. Но, поскольку я щас со стримами не работаю, то у меня и проблем этих нет))
источник

ИК

Иван Калининский... in Moscow Spark
и решения с ходу не предложу((
источник

M

Mi in Moscow Spark
Батч
источник

ИК

Иван Калининский... in Moscow Spark
есть один параметр, spark.sql.files.maxRecordsPerFile, мне он не нравится, потому что не даёт использовать параллелизм спарка на всю катушку и может оставлять огрызки. Но в данном случае могу его посоветовать
источник

ИК

Иван Калининский... in Moscow Spark
Mi
Батч
всего то надо прикинуть, сколько записей должно быть в файле и захардкодить на первое время, одна строка кода
источник

AB

Andrey Bel in Moscow Spark
Иван Калининский
или это стрим? Тогда так и надо написать, найдутся знающие товарищи. Но для стрима обычно другая проблема - много мелких файлов. Но, поскольку я щас со стримами не работаю, то у меня и проблем этих нет))
я в одном кейсе юзал для стриминга даталейк кажеться от датабрикса и он кучу мелких паркетов делал -  потом просто запускал периодами джобу репартишн чтоб там было приемлимое кол во файлов
источник

AB

Andrey Bel in Moscow Spark
а не, дельта лейкс))
источник

M

Mi in Moscow Spark
Иван Калининский
есть один параметр, spark.sql.files.maxRecordsPerFile, мне он не нравится, потому что не даёт использовать параллелизм спарка на всю катушку и может оставлять огрызки. Но в данном случае могу его посоветовать
О, посмотрю, спасибо
источник

NN

No Name in Moscow Spark
Иван Калининский
Я оцениваю исходный объём данных, делаю поправки на исходное сжатие и конечное сжатие и делю на размер блока HDFS. Получается желаемое количество конечных файлов n, далее делаю .repartition(n, expr), где expr - выражение, содержащее n значений, как правило - monotonically_increasing_id() % n.
При этом, конечно, надо учитывать партиционирование конечной таблицы (если есть). Коллизии неизбежны, то есть, какие-то файлы будут примерно в два-три раза больше, чем медианный размер, но их будет немного
Не очень понял, а зачем expr? Ведь желаемое количество файлов n уже указано, дальше repartition(n) сам равномерно нарежет.
источник

ИК

Иван Калининский... in Moscow Spark
No Name
Не очень понял, а зачем expr? Ведь желаемое количество файлов n уже указано, дальше repartition(n) сам равномерно нарежет.
Ну, да, это я для партиций с разным количеством файлов
источник

А

Алексей in Moscow Spark
зачем резать на мелкие файлы, если нет бакетирования? спарк при чтений большого паркет файла сам распараллелит чтение
источник

ИК

Иван Калининский... in Moscow Spark
Алексей
зачем резать на мелкие файлы, если нет бакетирования? спарк при чтений большого паркет файла сам распараллелит чтение
файлы размером 2+ Гб долго записывать. А если найдется 20+ Гб, то ждать невозможно(
источник

А

Алексей in Moscow Spark
Иван Калининский
файлы размером 2+ Гб долго записывать. А если найдется 20+ Гб, то ждать невозможно(
запись - это да, будет долго
источник

ИК

Иван Калининский... in Moscow Spark
вообще, да, замечание логичное
источник
2021 February 06

R

Renarde in Moscow Spark
KrivdaTheTriewe
а как попасть на спарк саммит?
Поднимаю старую тему - «как попасть на саммит докладчиком?».

Открылся Call For Presentations на саммит 2021:

https://databricks.com/dataaisummit/north-america-2021/call-for-presentations
источник
2021 February 08

K

KrivdaTheTriewe in Moscow Spark
попробую податься, спасибо
источник

K

KrivdaTheTriewe in Moscow Spark
Ребят, было такое, что пока spark.shuffle.useOldFetchProtocol  не выставишь, джоба по другому считает, при этом шафлинг сервиса никакакого не используется
источник

G

Gev in Moscow Spark
Народ. Скорее всего самый распространенный вопрос, но я никак не найду какой то универсальный ответ
Stage 59 contains a task of very large size (129 KB). The maximum recommended task size is 100 KB.
Повышаем количество repartitioning
Но где оно то число ? И как еще моно избавиться от этой ошибки раз и на всегда?
источник

EC

Eugene Chipizubov in Moscow Spark
+1
источник