Нас 🔤 🔤 🔤 🔤 !
Спасибо всем, кто подписан, ставит лайки, комментит!
🖥 Скоро год, как я веду этот канал. Могу сказать, что канал растет вместе с моими скилами. Я оч сильно бустанулся с того времени и порой забываю, как я не особо шарил за spark, pandas, хадуп, airflow и прочее. Но на реальных проектах ты не замечаешь этого, потому что требования растут с каждым спринтом, а кол-во новой информации наваливается просто, как цунами.
И те знания, за которые ты гордился в начале пути, сейчас выглядят просто примитивными навыками. В особенности, когда сравниваешь себя с опытными коллегами. Это кстати обратная сторона медали, потому что невозможно прыгнуть выше головы. У всего есть свой ресурс и предел. Невозможно бесконечно наращивать эффективность.
Пара инсайтов:
1. Работайте над софт скилами. Конфликты, сплетни, ссоры неизбежны. Никакое крутое знание фреймворка не спасет ситуацию. Это тупик.
2. Первые полгода-год на работе вы будете нон стоп учиться. Просто готовьтесь.
3. Покупать курсы не надо. Если только не мои. Мои можно. А вообще вы сами способны выучиться. Готовьтежелезную задницу
4. В IT не поздно. И после 30 и после 40 и после 50. Но с каждым десятком лет предвзятость будет расти.
5. Девушки в IT это супер. И я не заметил предрассудков насчет мужское направление или женское. Поэтому смело залетайте в команды!
Спасибо всем, кто подписан, ставит лайки, комментит!
И те знания, за которые ты гордился в начале пути, сейчас выглядят просто примитивными навыками. В особенности, когда сравниваешь себя с опытными коллегами. Это кстати обратная сторона медали, потому что невозможно прыгнуть выше головы. У всего есть свой ресурс и предел. Невозможно бесконечно наращивать эффективность.
Пара инсайтов:
1. Работайте над софт скилами. Конфликты, сплетни, ссоры неизбежны. Никакое крутое знание фреймворка не спасет ситуацию. Это тупик.
2. Первые полгода-год на работе вы будете нон стоп учиться. Просто готовьтесь.
3. Покупать курсы не надо. Если только не мои. Мои можно. А вообще вы сами способны выучиться. Готовьте
4. В IT не поздно. И после 30 и после 40 и после 50. Но с каждым десятком лет предвзятость будет расти.
5. Девушки в IT это супер. И я не заметил предрассудков насчет мужское направление или женское. Поэтому смело залетайте в команды!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54🍾12💯4👎2👏2
Ищем Anti Data Engineer!
📍 УДАЛЕННО (как можно дальше от главного офиса)
💵 ЗП: 3–5к рублей, до вычета налогов и штрафов (штраф за чтение описания вакансии: 1500 рублей)
Мы компания, которая в целом ничем не занимается и в дальнейшем мы тоже ничего не планируем делать. Разработка платежных систем на международном рынке – это что-то очень интересное, но не про нас. В прошлом году мы не заняли никакого места в рейтинге прорывных компаний, потому что нам нечего было показывать. У нас в целом нет общего видения развития индустрии, нам вообще это неинтересно от слова совсем.
➡️ На данный момент ищем очень слабого data engineer на новый DWH проект.
➡️ Требования:
⚫️ Неумение работать с большими объемами данных. Если вы путаетесь в террабайтах данных, вы идеальный кандидат!
⚫️ Отсутствие опыта работы с инструментами для обработки и анализа данных. Никогда не слышали о Hadoop, Spark, Hive, Pig, или других подобных инструментах? Отлично, приглашаем на собеседование!
⚫️ Обязательное незнание SQL. Если вы думаете, что SQL - это что-то связанное с экстрасенсорным восприятием, вы тот, кто нам нужен
⚫️ Неумение визуализировать данные. Отсутствие желания работы с любыми BI системами.
⚫️ Если pandas для вас – это то, по чему поднимаются коляски в подъезд, значит вы на на правильном пути
⚫️ Знание python на уровне, что есть такое животное. Не выше!
⚫️ Уметь удалять нужный код коллег из BitBucket
⚫️ Продвинутые навыки в DROP TABLE (желательно on CLUSTER)
⚫️ Отсутствие любых знаний в области computer science
⚫️ Умение растягивать примитивные SQL запросы на 800 строк и больше (без знания SQL)
🖥 Обязанности:
⚫️ Своевременно и безвозвратно удалять данные из БД
⚫️ Писать неэффективный код от 2000 строк в день (у нас строгий подсчет, мы ведем журналы!)
🔥Наши плюшки:
⚫️ Мы не пересматриваем ЗП (нечего пересматривать)
⚫️ Технику не выдаем (только штрафы)
⚫️ ДМС нет, но ноги вам с радостью сломаем
⚫️ Компенсация фитнеса (из вашей зарплаты)
📍 УДАЛЕННО (как можно дальше от главного офиса)
Мы компания, которая в целом ничем не занимается и в дальнейшем мы тоже ничего не планируем делать. Разработка платежных систем на международном рынке – это что-то очень интересное, но не про нас. В прошлом году мы не заняли никакого места в рейтинге прорывных компаний, потому что нам нечего было показывать. У нас в целом нет общего видения развития индустрии, нам вообще это неинтересно от слова совсем.
🔥Наши плюшки:
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46🔥9🤣8💩2❤1
Две строки. Нужно из них получить python словарь. Побеждает самое короткое простое, но ПОНЯТНОЕ решение.
Столкнулся на работе. Эти строки – это значения в двух столбцах огромной таблицы. Поэтому при желании можете также оценить O(n).
P.S. Здесь требуется решение на питоне, но у меня конечно на самом деле был spark и там есть некоторые нюансы. Я комментах его опишу, потому что оно ДУШНОЕ и если вы новичек, то не забивайте себе голову и смело скипайте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1🔥1💯1
.
Рекомендую смотреть только тем, кого не пугают такие слова:
Парень рассказывает по то, как стоит использовать индексы, в чем разница индексов по двум и более полям и многое другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Владимир Ситников — B-tree индексы в базах данных на примере PostgreSQL
Ближайшая конференция — Heisenbug 2025 Autumn, 19—20 октября, Санкт-Петербург + online. Подробности и билеты: https://jrg.su/D6uGC9
— Ближайшая конференция: Heisenbug 2023 Autumn — 10–11 октября (online), 15–16 октября (offline)
Подробности и билеты: htt…
— Ближайшая конференция: Heisenbug 2023 Autumn — 10–11 октября (online), 15–16 октября (offline)
Подробности и билеты: htt…
🔥27❤4
Смотрите, тут написана фраза "Ограничение по памяти O(1)" – это не тоже самое, что сложность алгоритма. Строка s не должна быть создана еще раз в памяти. Создавать переменные можно. Варианты со срезами не подходят. Не пройдут тесты.
Пишите в комменты свои варианты. Я обязательно выложу и свой вариант. Уверен, что кто-то из вас сможет предложить прям элегантное решение!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3💯2
Требования:
• Опытом работы на позиции дата-инженера от 1 года;
• Уверенным владением SQL;
• Уверенным владением Python;
• Уверенным владением Apache Airflow 2;
• Уверенным владением bash;
• Опытом разработки ETL, проектирования и разработки хранилищ данных и аналитической отчетности (просим рассказать Ваши кейсы);
• Способностью анализировать;
• Опытом работы с ClickHouse, Kafka, S3 и dbt.
• Высшим техническим или другим релевантным образованием;
• Владением английским языком на уровне B2 и выше.
Подробнее: здесь
Писать:
@tanya_zab
Please open Telegram to view this post
VIEW IN TELEGRAM
valiotti-analytics on Notion
Data Engineer (Middle) | Notion
Компания Valiotti Analytics стартовала в 2019 году, занимаемся построением процессов аналитики и инжиниринга данных для digital компаний из Европы и стран СНГ. Наша команда — молодые талантливые специалисты (средний возраст 27 лет), которые любят челленджи…
🔥6👍2👌2😁1💯1
Наконец-то куплю трешку на Патриках!
Сразу к делу! Думаю о том, чтобы завести бусти.
И вот, что вы получите:
1. Еженедельные созвоны (от обсуждения технологий и работы до сплетней, денег и скандалов)
2. Задачи и вопросы с реальных собеседований (+ условия, описание проекта и так далее). А возможно даже и записи с собесов!
3. Закрытый чат для подписчиков (никаких лишних глаз, любое NDA станет не NDA)
4. Мастер-классы по софт скиллам (это я для прикола написал, но может кто-то хочет побороть страх. Можем попробовать поработать)
Я хочу заработать на хаты на патриках и начать разыгрывать их в канале за правильное решенные задачи.
Хочу 500 руб / месяц. Зависит от трафика.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🗿19😁7😢4⚡2
Выбери стоимость БУСТИ
Anonymous Poll
20%
50 ₽
14%
100 ₽
20%
250 ₽
12%
350 ₽
12%
500 ₽
38%
Не буду подписываться
Это не реклама, но видос годный.
Есть два кандидата:
Один с хардами, но мертвый, другой общительный, но слабый на харды. Кого возьмете, кого лесом пошлете?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4💯1
.
b-tree | hash | brin | gist | sp_gist
Для тех, кто прям преисполнился в постгре, есть ДВА ЧАСА класного материала про индексы в БД!
Тема большая, словно океан, поэтому всегда можете возвращаться к этому докладу в течение обучения и работы!
Всегда успеете вернуться сюда и посмотреть!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Любой разработчик знает, что индексы — это мощный инструмент, который может улучшить работу запросов в базе данных и, как следствие, сократить…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Любой разработчик знает, что индексы — это мощный инструмент, который может улучшить работу запросов в базе данных и, как следствие, сократить…
🔥15👍3⚡1💯1
Когда я на степике решал задачки, то меня бесили однострочники в комментах. Эти люди предлагали свои решения в одну строку, когда ты написал 30.
В одной строке есть колоссальный плюс до того момента, пока она читабельна. В ином случае, решение лучше расписывать и не выкобениваться. Надо учитывать и время, которое потратит человек, когда будет читать ваш гениальный код!
Задача: Надо вывести 1, если из первой строки можно собрать вторую строку. И 0, если нельзя
В комментах интересны самые короткие решения! Но можете делиться и полотнами))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👌3❤🔥2
Сходу отвечаем на вопросы HR:
1. Почему уходишь с нынешней работы?
2. Сколько хочешь денег?
3. Что для тебя красный флаг в команде?
К слову вы обязаны спрашивать и ту сторону. Можете прямо проводить собеседование им. Пусть рассказывают о себе также подробно, как и вы. Вам потом с этими людьми работать между прочим.
1. Расскажите типичную задачу на работе. Подробно, где пишите код, кто его проверяет или так без код ревью в прод?
2. Команду собираете с нуля или на замену того, кто ушел? А DevOps будет, который будет сервисы поднимать или на меня повесите?
3. Что из стека в вакансии вы реально используете, а что в планах использовать?
Очевидно, что не только вы можете быть с сюрпризом, но и команда. Поэтому прагматичней подходите к таким делам. Что, если команда разваливается или вы будете там единственным спецом, а может это вообще будет команда из стажеров и никакой экспертности. Спрашивайте про бюрократию. Про системного аналитика. Короче ковыряйте больные места у работодателей. Иначе в будущем их придется ковырять вам.
Пишите в комменты свои вопросы рекрутерам и командам на собесе!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13💯6🔥3👾1
Речь идет про
SCD - Медленно меняющимися измерения (Slowly Changing Dimensions)
Если вы сейчас вообще не поняли, что это, то либо вам еще рано, либо прямо сейчас начинайте изучать. Например вы записали в хадуп данные о себе, что у вас 100 рублей на счете. А потом поняли, что хотите больше, а функции update таблицы нет! Нельзя поменять значение, где 100 рублей и поставить 1 000 000. Вам либо стирать таблицу и перезаписывать, либо фильтровать и перезаписывать, либо использовать SCD. Сейчас объясню что это.
SCD позволяет вести историчность строки. Не просто поменять значение в ячейке, а именно контроллировать даты, когда меняется значение. При этом старое значение не удаляется.
Если очень коротко про SCD в HADOOP:
Каждая строка имеет еще один или два столбца с датой. Эта дата обозначает актуальность строки. Например я записал строку 1 июня со значением баланса счета в 100 рублей. А потом 15 июня я выиграл миллион и записал строку с балансом счета в 1 000 100 рублей. Получается у меня две строки с разными датами. И очевидно, что актуальной информацией является строка от 15 июня. При этом я смогу также посмотреть историчность. Это конечно касается Hadoop. Там можно только добавлять данные или стирать вовсе. Поэтому у меня в одной из витрин некоторые строки обновляются именно по такой логике. Есть реально поле, которое содержит в себе дату и чем она позже, тем актуальней данные))
Но по факту в транзакционных системах конечно можно идти дальше и хранить значение, как начала жизни строки, так и конца.
Например у вас два столбца:
start_dt и end_dt
В start_dt пишите 2024-06-01, а в end_dt пишите 9999-12-31. И когда информация обновилась, то вместо 9999-12-31 (столбец end_dt) вы пишите 2024-06-14 (тут именно транзакция). И дальше записываете новую строку, где start_dt пишите 2024-06-15, а в end_dt 9999-12-31.
Таким образом видно, когда строка обновилась (какие были данные и так далее). Добавлять таких строк можно сколько угодно. Плюс в том, что у нас историчность. Минус в том, что куча данных, дополнительных столбцов и стремительно растет нагрузка!
Я рассказал именно про SCD2. Но их всего 5 версий.
SCD1 - это просто изменить значение в ячейке.
SCD3 - это когда у вас хранится предыдущее значение ячейки в соседнем столбце.
SCD4 - это когда основная таблица перезаписывает данные, а старые улетают в отдельную таблицу
Остальные SCD уже являются комбинациями предыдущих и сильно усложняют подход.
Ну кстати мой пример с Хадуп не совсем прям SCD2, но подход похожий. Я просто считаю, что дата окончания актуальности предыдущей строки - это дата добавления новой.
Прикрепляю скрины с Карпов Курсес про SCD. Мне очень нравится, как у них описано это в лекциях!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥14👎2❤1😴1
Сейчас настраиваю Boosty!
Там будет все включено:
Напишите, что еще хотелось бы видеть в подписке?
Я решил, что будет одна цена 300 руб. Мне проще вести один чат и не думать об уровнях подписок.
Если тема будет развиваться, сделаю уровни подешевле. Например только созвоны или только чат.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥8💯3🤡1
Итак, на spark пишут код. Он похож на python + sql. Spark нужен для того, чтобы считать очень большие данные. Делает он это распределенно, т.е. на нескольких серверах и параллельно! Pandas например так не умеет, он сразу умрет.
Конечно, в спарке еще много преимуществ и фишек, но о них в другой раз! Для тех, кто хочет почитать поглубже, гуглите BroadcastJoin, getNumPartitions, repartition, coalesce
Please open Telegram to view this post
VIEW IN TELEGRAM
❤38🔥14👍6💯2
Откуда берутся мелкие файлы, почему это плохо и как этого избежать?
Repartition может собрать все куски и склеить их в то кол-во, которое вы ему укажите. Можно как уменьшить, так и увеличить кол-во. При этом он старается склеивать на равнозначные кусочки. Это вызывает доп перегонку данных по сети. Но зато у вас нет перекоса, что в одном файле будет 80% данных, а в другом 20%.
Coalesce работает только на уменьшение и старается избегать перемешивания. Если укажите coalesce(1), то спарк с минимальными потерями все склеит в один файлик и сохранит на диск. Но не надо это делать с огромными таблицами. Это к вопросу про чтение данных. Если коротко: Чтение таких таблиц очень долгое.
А вот почему мелкие файлы это именно плохо, об этом в следующем посте!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4🤣1