Size: a a a

2019 November 25

EN

Eldar Nezametdinov in Moscow Spark
Крутой ответ. Спасибо 👌
Под случайным отрицательным числом имеется ввиду подход:
random + explode?
источник

DG

Denis Gabaydulin in Moscow Spark
Нет. Прямо вот случайное число того типа, которого id.
Например long user_id > 0, можно для null сгенерировать от Long.MIN_VALUE to 0
источник

DG

Denis Gabaydulin in Moscow Spark
Трюк тут в том, что мы значем что все отрицательные числа = null и можем потом просто преобразовать обратно, а спарк будет шафлить равномерно, потому что для него это будет выглядеть как просто числа.
источник

DG

Denis Gabaydulin in Moscow Spark
Но подойдет конечно не для всех запросов.
источник

ЛР

Лев Рагулин... in Moscow Spark
Vladislav 👻 Shishkov
Ну мне кажется сервисы именно как DWH не нужны в большинстве своем, они скорее нужны, когда на основе данных из DWH что-нибудь идет в бек/фронт, например, ML задачи
или когда у тебя есть внешние клиенты потребители этих сервисов
источник

DG

Denis Gabaydulin in Moscow Spark
Еще в догонку про дискуссию hadoop or not. С HDFS есть фундаментальная проблема. Иерархическая структура не поддается шардингу (плохо поддается). Метаданные на одном сервере. Разложить их на несколько тяжело. И федерация не идеальное решение. Либо сложно и плохо масштабируемо, либо на одном сервере. S3 такой проблемы не имеет.
источник

ME

Mikhail Epikhin in Moscow Spark
Ага, либо покупать mapr 🙂
источник

A

Anton Lebedevich in Moscow Spark
mapr разве не всё?
источник

DG

Denis Gabaydulin in Moscow Spark
Есть еще https://www.logicalclocks.com/
У них тоже мастернода шардируется.
источник
2019 November 26

NN

Nazar Niyazov in Moscow Spark
Кто-нибудь может объяснить ошибку при запуске spark-shell "error cannot allocate memory (errno=12). There is insufficient memory for the jvm to continue. " ?
На кластере со Спарком 2.2 все работает, но на более мощном с 2.4 выдает ошибку. Нагуглил только, что jvm может требовать heap memory больше, чем позволяет ос, но не нашел, как это пофиксить.
источник

PK

Pavel Klemenkov in Moscow Spark
Nazar Niyazov
Кто-нибудь может объяснить ошибку при запуске spark-shell "error cannot allocate memory (errno=12). There is insufficient memory for the jvm to continue. " ?
На кластере со Спарком 2.2 все работает, но на более мощном с 2.4 выдает ошибку. Нагуглил только, что jvm может требовать heap memory больше, чем позволяет ос, но не нашел, как это пофиксить.
Может быть настройки cgroups ограничивают память на процесс. Спроси у админов, есть ли такие
источник
2019 November 27

ES

Eŭgenio Slusarev in Moscow Spark
Nazar Niyazov
Кто-нибудь может объяснить ошибку при запуске spark-shell "error cannot allocate memory (errno=12). There is insufficient memory for the jvm to continue. " ?
На кластере со Спарком 2.2 все работает, но на более мощном с 2.4 выдает ошибку. Нагуглил только, что jvm может требовать heap memory больше, чем позволяет ос, но не нашел, как это пофиксить.
Если кластер хадупа, то там можно поиграть с yarn.nodemanager.vmem-pmem-ratio. выставляется как соотношение виртуальной памяти к физической, но настраивается на нодах глобально...
источник

РА

Рамиль Ахмадеев... in Moscow Spark
Nazar Niyazov
Кто-нибудь может объяснить ошибку при запуске spark-shell "error cannot allocate memory (errno=12). There is insufficient memory for the jvm to continue. " ?
На кластере со Спарком 2.2 все работает, но на более мощном с 2.4 выдает ошибку. Нагуглил только, что jvm может требовать heap memory больше, чем позволяет ос, но не нашел, как это пофиксить.
еще это может происходить когда не хватает памяти внутри контейнера
источник

РА

Рамиль Ахмадеев... in Moscow Spark
там как раз cgroups
источник

РА

Рамиль Ахмадеев... in Moscow Spark
🙂
источник
2019 November 29

SO

Simon Osipov in Moscow Spark
Привет.
Подскажите, вот у меня есть скриптик, который забегает в Hive, скачивает таблички, джойнит и кладет в Postgres.
Хотелось бы добавить к нему тестов и какой-нибудь защиты от всякой херни, мб в рантайме, мб до запуска.

Использую фасад, запускаю runner, в него передаю название нужного скрипта и название окружения.
Далее runner импортирует библиотечку, которая при импорте запускает последовательно get_dataframe() и upload_dataframe()

На что можно обратить внимание? Пока в голову приходит некая проверка DQ, что все нужные таблички на кластере есть, есть нужные колонки в них и они не пустые (на то, что там данные актуальные - это уже вопрос к другому отделу, мне же не хочется гонять скрипт с пустым датафреймом).
Проверить, что Postgres и Hive живой и откликается.
И все, больше в голову что-то ничего не приходит.

Скрипт запускается через airflow, хочу при попадании в ловушку или непрохождении теста, выбрасывать ошибку, чтобы видеть это в статистике...
источник

N

Nickolay in Moscow Spark
Делали подобным образом, добавляя шаги на сравнения кол-ва данных в источниках. Например было в хайве 100, должно быть в постргре 100. Далее, можно прикрутить анализ на row by row сравнение. Только сделайте подобные штуки конфигурируемые (запускать или нет в пайплайне)
источник
2019 December 02

NN

Nazar Niyazov in Moscow Spark
Вопрос по spark ml - как-нибудь можно заранее подобрать оптимальный кластер для обучения модели на датасете размером под терабайт? Примерно зная - это дёшево, но обучаться будет несколько дней, это быстро, но стоит столько, и т.д. Скала, логрег.
источник

R

Renarde in Moscow Spark
Nazar Niyazov
Вопрос по spark ml - как-нибудь можно заранее подобрать оптимальный кластер для обучения модели на датасете размером под терабайт? Примерно зная - это дёшево, но обучаться будет несколько дней, это быстро, но стоит столько, и т.д. Скала, логрег.
Вот тут прям юзкейс по ML в 1Tb на Spark ML:
https://github.com/rambler-digital-solutions/criteo-1tb-benchmark
источник

R

Renarde in Moscow Spark
источник