Size: a a a

2021 February 10

GP

Grigory Pomadchin in Moscow Spark
я почему спросил про дсы ли у тебя - они ж на этот конфиг ориентируются
я не говорю что это решение, но это просто позволит тебе диагностировать этап когда все валится и почему валится
источник

M

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

GP

Grigory Pomadchin in Moscow Spark
ды ясно)
источник

GP

Grigory Pomadchin in Moscow Spark
покрути корчое этот конфиг чтоб точнее понять когда и изза чего валится
источник

M

Mi in Moscow Spark
Окей, спасибо)
источник

t

tenKe in Moscow Spark
Mi
Не помогло кстати
очень любопытно, покеш план выполнения плз
источник

t

tenKe in Moscow Spark
> 198 моментом и два последних которые падают по размеру контейнера
пажжи, это у тебя в каком месте 200 партиций появляются? Не все ли дело в перекошенном джойне или групбай?
источник

EC

Eugene Chipizubov in Moscow Spark
Alex
значит что-то не там прописываете =) попытайтесь через тот же --conf передать эти параметры
Победил так:
Spark2.4.4-hadoop2.7(hadoop-aws_2.7.0, aws-java-sdk-1.7.4, guava-27.0-jre)
Hadoop3.3.0
Hive3.1.2
и
Spark3.0.1-hadoop3.2(hadoop-aws_3.2.0, aws-java-sdk-bundle-1.11.951, guava-27.0-jre)
Hadoop3.3.0
Hive3.1.2

А всего то надо было, чтобы версия aws совпадала с дистрибутивом спарка, а не кластерным. Плохо по ночам работать... Потом за 5 минут с утра решается все
источник

ИК

Иван Калининский... in Moscow Spark
Mi
Я сейчас не могу особо много показать так как не у компа, но в общем случае там идёт один стейдж (я знаю какой), потом репартишен этот (200 тасков дефолтных), потом запись (143 тачка якобы после репартишена, ожидаемых)
Продолжим разбираться? Если да, расскажи, что это за источник, какой формат читается и каким оператором читается? Есть подозрение (и у меня было что-то похожее на совсем небольших файловых таблицах), что дело в том, что прочитанный источник содержит все данные только в двух партициях
источник

M

Mi in Moscow Spark
Я продолжаю ковыряться, но пока сложно показать подробнее, тут читается из ORC, потом оно падает на exchange по колонке с датами, которых две, и до записи не доходит даже
источник

M

Mi in Moscow Spark
Есть подозрение что он делает этот exchange сам чтобы подготовить для repartition, и не справляется, но я не могу понять зачем там этот стейдж вообще
источник

M

Mi in Moscow Spark
А флоу простой: чтение, фильтр по партициям-папкам, репартишен, запись
источник

M

Mi in Moscow Spark
Запись по тем же партициям-папкам
источник

M

Mi in Moscow Spark
Условно задача разбить файл тяжёлый на несколько файлов заданного размера (чтобы в каждой партиции-папке было свое количество файлов относительно собственно размера этой папки)
источник

t

tenKe in Moscow Spark
Mi
Есть подозрение что он делает этот exchange сам чтобы подготовить для repartition, и не справляется, но я не могу понять зачем там этот стейдж вообще
пакажи план э
источник

ИК

Иван Калининский... in Moscow Spark
Что после чтения в df.rdd.getNumPartitions ?
источник

M

Mi in Moscow Spark
tenKe
пакажи план э
Вам физический?
источник

t

tenKe in Moscow Spark
да
источник

M

Mi in Moscow Spark
Иван Калининский
Что после чтения в df.rdd.getNumPartitions ?
Равно размеру блоков хдфс
источник

M

Mi in Moscow Spark
Там просто план сложно потому что на компе где это все происходит нет телеги
источник