Size: a a a

2021 February 09

А

Алексей in Moscow Spark
Mi
Пробовал, не работает
Что если создать колонку и по ней сделать репартишен без expr. Тоже будет ошибка?
источник

M

Mi in Moscow Spark
Алексей
Что если создать колонку и по ней сделать репартишен без expr. Тоже будет ошибка?
Да, но там не ошибка, а просто вся запись уходит на два экзекутора которые отваливаются по памяти
источник

ИК

Иван Калининский... in Moscow Spark
в таком случае rand() * 8 - непохоже, что работает((
источник

AL

Anton Lashin in Moscow Spark
Mi
Кто-нибудь может подсказать почему Спарк при записи двух больших партиций с
repartition(my_col, rand * 8)+ writer.partitionBy(my_col) все равно оставляет большие жирные партиции и не учитывает никак rand?
а сколько уникальных значений у колонки my_col? а то может их 2 всего
источник

M

Mi in Moscow Spark
Anton Lashin
а сколько уникальных значений у колонки my_col? а то может их 2 всего
Так их и есть два, и я собственно пытаюсь решить проблему записи
источник

AL

Anton Lashin in Moscow Spark
а репартишен разве может отправить одинаковые значения в разные партиции?
источник

ИК

Иван Калининский... in Moscow Spark
вообще, лучше привести к Int: ( rand() * 8 ) cast IntegerType
источник

M

Mi in Moscow Spark
Anton Lashin
а репартишен разве может отправить одинаковые значения в разные партиции?
Так я добавлял рандомный коэффициент, но это не сработало
источник

ИК

Иван Калининский... in Moscow Spark
Anton Lashin
а репартишен разве может отправить одинаковые значения в разные партиции?
нет
источник

EC

Eugene Chipizubov in Moscow Spark
Alex
они не резолвят переменные окружения, нужен полный путь
здесь имел в виду, что полный путь указываю где hive живет до директории lib
/etc/hive/lib
источник

EC

Eugene Chipizubov in Moscow Spark
java.lang.ClassNotFoundException: org.apache.spark.sql.hive.HiveSessionStateBuilder
источник

EC

Eugene Chipizubov in Moscow Spark
также не может найти класс
источник

ИК

Иван Калининский... in Moscow Spark
Mi
Так я добавлял рандомный коэффициент, но это не сработало
рандомный коэффициент не сработал, это факт, а почему там 8? может стоит влепить 128 или еще больше?
источник

M

Mi in Moscow Spark
Иван Калининский
рандомный коэффициент не сработал, это факт, а почему там 8? может стоит влепить 128 или еще больше?
Ну 8 это для примера, там число вычисляется относительно желаемого количества строк в файле, тем не менее нифига не пишет он параллельно
источник

А

Алексей in Moscow Spark
Mi
Да, но там не ошибка, а просто вся запись уходит на два экзекутора которые отваливаются по памяти
Так можно увидеть, что сгенерировал ранд, может легло с перекосом или меньше 1
источник

ИК

Иван Калининский... in Moscow Spark
Mi
Ну 8 это для примера, там число вычисляется относительно желаемого количества строк в файле, тем не менее нифига не пишет он параллельно
вообще, лучше привести к Int: ( rand() * 8 ) cast IntegerType
источник

A

Alex in Moscow Spark
Eugene Chipizubov
также не может найти класс
что-то у вас с класспасом, так как этот класс в spark-hive
источник

M

Mi in Moscow Spark
Алексей
Так можно увидеть, что сгенерировал ранд, может легло с перекосом или меньше 1
Это я то тоже проверял, там отлично всё распределилось на 143 партиции, но запись всё равно свалилась на два экзекутора
источник

M

Mi in Moscow Spark
Хотя стоп, там стейдж с 143 партициями не начал даже выполняться, свалилось чуть раньше, буду смотреть почему
источник

EC

Eugene Chipizubov in Moscow Spark
Alex
если хдп то либы там будут
у меня ванильный hdp, hive-clirnt директории нет. Блин, ощущение, что игнорит spark.sql.hive.metastore.jars и я что то не так делаю
источник