Pull to refresh
72
Karma
0.8
Rating

Автоматический подбор параметров для Spark-приложений на примере spark.executor.memory

А вы думаете, это решение золотая пуля? Напрасно.

Оптимизация производительности всего кластера в целом, где бегает куча приложений, которые каждый день обсчитывают разные объемы данных, и имеют десятки параметров настройки каждое — это далеко не простая задача. Большинство статей по выбору параметров спарка вообще не заходят так далеко, как автор, и предполагают, что ваше приложение на кластере совсем-совсем одно. А в реальности автор тут описывает, как у них RM достигает пределов своего масштабирования, потому что там в очереди задач тысячи.

А это описанное решение — оно возможно очень даже хорошее, но все равно частное. Вот смотрите:

>Тогда мы откатываемся назад… и делаем ретрай.
А мы вот не можем делать. Просто потому, что у нас есть требование закончить работу к определенному времени, время на расчеты ограничено, и на ретрай его просто не остается. В итоге если представить, что мы вот так обучаемся, результат следующей попытки будет только послезавтра — потому что завтра мы откатились на старые параметры, а еще какие-то новые попробуем еще через день. Когда это решение сойдется — неизвестно.

А чтобы сделать ретрай быстро — нужно чтобы приложение было к этому готово, то есть ретрай с последней «контрольной точки» — а для этого эту точку надо сохранить. А это тоже все требует ресурсов.

Как создавать курсы и писать технические тексты: Хекслет запустил бесплатную Школу Авторов

Тут недавно озвучивали, сколько платят авторам. Судя по этим цифрам — никакой потребности в авторах нет. Была бы — платили бы прилично.

Паяльники и паяльные станции для новичков и не только: 5 устройств и систем, которые помогут в работе

А я вот не сверлю бетон в квартире. Или сверлю, но очень редко. Зато показанный на фото вариант прекрасно годится для кирпича. А угловая насадка и эксцентрик — вообще очень удобные в ряде случаев, и такие же наборы насадок выпускает наверное минимум пять фирм (у боша еще 12В такой же набор есть).

>Ударный шуруповерт хорош для длинных шурупов на даче или сельском доме.
Где у вас в сельском доме бетон в больших количествах? Где у вас в квартире длинные шурупы? Как по мне — это два разных применения.

Это не значит, что я что-то имею против ударного шуруповерта (бош на фото кстати не ударный, ударные массово стали появляться чуть позже, чем эту модель выпустили), я скорее к тому, что не бывает одинаковых потребностей — у всех они свои.

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

>сначала нужно распаковать все файлы из .zip, и уже потом углубляться дальше в eml.
Склонен согласиться со многими вашими выводами, код не идеален — но вот эти выводы не очевидны. И да, код плохо тестируется. Но я три раза писал на практике ровно такой код, и сказал бы, что эта задача не на 4.5 часа, а на 4.5 дня, если вас особо никто не гонит. Это тестовое задание, в нормальной работе после такого проводим ревью, и уже там кандидат вполне может сам рассказать, что ему в коде не нравится, и что он будет улучшать. И вот это вот ревью мне, если я нанимаю, даже интереснее кода, написанного в стрессовой ситуации. А его не было. Так что я бы оценил результат как положительный, и не знаю, чего работодатель тут выпендривается.

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Хм. Я недавно решил сделать тест по скале. Вошел в top 15% из тех примерно 95 тыс, кто проходил этот тест. Как по мне, я скалу вообще не знаю. И на месте интервьюера я бы не был в этом уверен. При этом я практически на ней пишу, не испытывая в процессе проблем.

Что происходит в критическом сечении камеры сгорания ракетного двигателя (ЖРД) и причём тут «скорость звука»?

Самый мощный на текущий момент ЖРД с тягой 806тс является именно четырёхкамерный ЖРД Глушко РД-107, а у него тяга одной КС составляла всего 200тс, которые и можно считать геометрическим пределом.

Э, а точно РД-107? Может все-таки РД-170?

Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

>Первые несколько месяцев платить ему зп + оплата времени старших сотрудников которые его учат = ноль пользы и минус прибыль компании.
Несколько преувеличиваете. Синьоры начинают приносить пользу намного раньше. Хотя бы тем, что умеют давать умные (со свежим взглядом на вещи) советы, имея отличный от других опыт. Да, пользы будет меньше, и отвлекать будет — но в сравнении с джуном и сам может кое-чему научить.

Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

Ну, я за HR не отвечаю. Более того, я помню тут на хабре статьи от оных, которые гласили, что никакого дефицита вообще нет (с моей точки зрения то была большая такая чушь).

Как тимлид я могу сказать, что а) дефицит есть, чем выше уровень человека — тем больше на него спрос и дефицит на таких б) люди после курсов для меня — это большая нагрузка по обучению, без очевидной пользы в какое-то обозримое время. Шанс найти алмаз среди них конечно есть — но искать и гранить его отдельная большая работа.

Вот синьоров бы я взял бы парочку (у нас размер проекта всего около 10 человек), даже при том что мы только что с 6 человек выросли до 10 разными способами. Но это вполне вероятно наша специфика, на которую я бы не ориентировался ни разу.

>не очень-то и хотелось и не очень то и нужно
Да запросто бывает и такое. Я уже выше озвучил, что нас в проекте 10. Четверо разработчиков. Но было время, когда я разрабатывал этот же проект вообще один, и вдвоем, и втроем, и по всякому. Просто дела двигались чуть медленнее, и все. Как вы догадываетесь, если кому-то нужен стажер — это не единственный человек в проекте, значит все примерно так и обстоит — может он и нужен, но обходиться без него можно сколь угодно долго.

Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

> Вот оно есть или нет?
Ну как вам сказать… как система, которая пристраивала бы всех лучших — скорее есть, чем нет. Ну то есть, скорее всего в моей почте где-то валяются письма от тех, кто курирует эти самые курсы в Иннополисе. Даже не скорее всего, а просто валяются. Не далее как пару дней назад HR предлагали нанять на стажировку с других похожих курсов — и прислали резюме кажется человек на шесть. Пока я думал, а не взять ли нам стажера, пока советовался с коллегами, которые будут его учить, число резюме сократилось до трех. То есть, троих уже куда-то пристроили. Это за пол дня примерно.

Как система, которая заполняла бы потребности с точки зрения работодателя — скорее нет, чем есть. Если я сам приду к HR, и попрошу кого-то мне найти — то я вот не верю ни на грош, что они вернутся сами ко мне через полгода, по своей инициативе, и скажут — во, смотри, какого классного чувака мы тебе нашли, ровно то, что искал. Скорее всего — они просто не вернутся, а уж что они будут помнить (и понимать), что мне сейчас надо — это точно нет. У HR нет понимания того, что нужно мелкому проекту типа нашего с учетом всей специфики. Они более-менее прилично ищут массовые специализации, не более того.

>Где у меня было про «брать все 125 после курса»?
Ну тут я возможно вас не так понял. Если эти 10 — лучшие, пробиваться все равно придется. Хотя рекомендация от преподавателя конечно же будет учтена. Но это не гарантия успеха. А резюме упомянутых выше стажеров вообще никого выделить не позволяют — например, у них почти у всех написано: Языки программирования, и дальше перечислены Java, C++, JavaScript (погодите удивляться), Git, Docker, Jira, ну и так далее. То есть, все инструменты идут под заголовком «Языки программирования». Как минимум, это означает, что либо всем пофиг, либо эти резюме до меня никто не читал как следует. Ну и как на это ориентироваться? В лучшем случае — приглашаем пообщаться. Даже гарантий трудоустройства не дается — стажер он и есть стажер, постоянное место ему не гарантировано.

Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

Ну непосредственно у меня в проекте работал такой человек. Вот прямо после этих самых курсов в Иннополисе. Знаете, почему мы взяли именно этого? Потому что у него кроме курсов были еще 10 лет опыта на 1С. Остальные не тянули на то, чтобы приносить пользу.

>Или им придется со всеми остальными пробиваться?
Скорее всего придется. Тех кто вообще не годится, уже же отфильтровали — вы сами сказали, что из 250 до конца дошла половина. Искать людей на курсах — это вовсе не значит «брать всех 125 после курсов», это именно что искать и брать лучших.

Обзор уязвимости CVE-2022-42889: выполнение произвольного кода в Apache Commons Text (Text4Shell)

Позвольте мне еще раз подчеркнуть, что это не Log4Shell снова.

Скорее всего, вы сами не используете StringLookup, но вы не знаете, используют ли его какие-либо из ваших транзитивных библиотек.

Вот честно говоря, не очень понимаю такие формулировки. Мы и для Log4Shell тоже не использовали уязвимые версии, и тоже они использовались нашими транзитивными зависимостями.

Может быть это эксплуатировать и сложнее, но с точки зрения анализа мало что меняется — мы не знаем достоверно, где и в каких сценариях транзитивные зависимости используют эту функциональность, и можно ли там безболезненно заменить условную версию 1.6 на 1.10.

То есть, чтобы проверить что мы не подвержены, мне нужно не просто собрать свой проект с 1.10, а еще и проверить транзитивные зависимости — мне нужно не только собрать условный Apache Spark 3, что как минимум никогда не делал, мне еще нужно его и протестировать с этой новой зависимостью. Иными словами — я знаю точно, что уязвимая версия используется, но я не знаю вообще, можно ли ее безопасно заменить новой — потому что она не в моем проекте.

Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

Ну я по сути вам не особо и возражал — я скорее уточнял, в каких условиях джуны могут приносить пользу, и почему иметь их в проекте может быть дорого.

Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

>Видимо, нам больше везло с джунами.
Или у вас более типовой проект. Скажем, на курсах (по ощущениям) учат в основном таким языкам и технологиям, которые широко распространены. Если у вас проект отличается от типичных — джунам будет сложнее.

>подчисткой мелких багов и прочего он его экономит. Код-ревью всё равно проходит весь код.
Ну не знаю как вы, а я могу быть уверен, что когда мелкий очевидный баг исправляется синьором, то часто можно в код вообще не смотреть. Потому что мы с таким человеком понимаем друг друга с полуслова, и он как правило не допускает мелкие тривиальные баги. А код, сделанный джуном, нужно смотреть внимательно, зачастую они пишут так как умеют, а не так, как принято в проекте. И смотреть нужно со всех точек зрения, включая эффективность, обработку нештатных ситуаций (о которых джуны в моей практике всегда забывали), логирование и вот это вот все.

Скажем, был у меня совершенно тривиальный вроде бы случай, но как раз очень характерный для человека, не имеющего опыта — человек взял, и в процессе рефакторинга SQL запроса поменял регистр. Ну т.е. весь запрос, достаточно большой, со страницу текста, сделал большими буквами. Соответственно, diff включал весь текст запроса, а не то что меняли. Вы считаете, что это экономия времени, когда он два раза переделал простую вещь, а я два раза провел ревью?

Выгрузка HDFS FSImage в Hive для мониторинга и аналитики: руководство к действию

А, да, логично. У меня немного другая но похожая задача стояла, мне хватило. Но ваша идея интересная, да.

И еще мне кажется, что партиций в Hive все-таки минимум на порядок меньше, чем файлов — так что можно попробовать пробежаться по ним. У них есть даты модификации, во всяком случае у новых версий (в старом Cloudera 5.16 еще не было).

Выгрузка HDFS FSImage в Hive для мониторинга и аналитики: руководство к действию

Я вот знаете чего не понял… а почему более простое решение не годится? Ну вот скажем, такое — хадуп же для каждого файла хранит такую штуку как Summary, а именно, число файлов и папок внутри. занятое место (в блоках и гигабайтах). И запрос этой информации — он дешевый, т.е. он не вызывает самого подсчета, все что нужно — уже подсчитано, и возвращается за константное время.

Организуем рекурсивный спуск по дереву папок, или вложенные циклы по схемам, таблицам и партициям Hive, параллелим это любым доступным нам удобным способом — и вроде бы мы должны собрать подобную статистику за приемлемое время? Ну т.е. если у вас в наличии только команда hdfs dfs -count — она может и не очень, а вот Java API HDFS вполне себе гибкий для таких задач. Я бы тупо начал бы с того, что запустил спарк шелл, да распараллелил бы это все на несколько потоков.

Spring. Экспертное мнение о плюсах и минусах самого популярного Java-фреймворка

>spring магический и мало кто заглядывает под капот
Ну пардон — если кто-то не заглядывает, разве это вина инструмента? Вот я много раз заглядывал, и могу сказать, что это как правило нифига не сложно — исходники спринга конечно не тривиальные, но и ничего непостижимого там тоже нет. А если там и есть такие части — то они чаще всего нам с вами не понадобятся.

Ну то есть, и эта вот «магия», и то что не все умеют пользоваться — это же явно претензия не к продукту. То есть, если дело в квалификации, то лучше не станет, если спринг заменить чем-то другим.

Принципы проектирования SOLID

Для меня вот SRP нигде не противоречит OCP. Если у вас это происходит «зачастую» — сможете показать хотя бы три примера?

Неправильно ты, дядя Фёдор, бутерброд ешь

>Если где-то могут ставить минусы неспециалисты, это не рецензирование, а восточный базар.
Это почему еще? Давайте тогда запретим неспециалистам писать в профильные хабы. Разве это чем-то отличается?

Сферический БПЛА в воздухе

Ну кстати, подозреваю что температура газа внутри баллона вполне может отличаться от температуры снаружи (да и газ в общем случае другой). Если баллон подогревается (что тоже вполне типично), то учитывать надо и это.

Сферический БПЛА в воздухе

Так вроде температура сама нам не особо нужна. Тут и архимедова сила, и сопротивление — они от самой плотности зависят.

Information

Rating
1,264-th
Registered
Activity