fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

дата инженеретта

дата инженеретта

رفتن به کانال در Telegram

мелкое — крупно, в глубоком разговоре мудрость приходит по вопросам сюда: @aigul_sea

نمایش بیشتر
3 437
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
+530 روز
آرشیو پست ها
Самый дурацкий кусок кода У вас есть такой код, который вы один раз увидели, но никогда не забудете? Потому что он был настол
Самый дурацкий кусок кода У вас есть такой код, который вы один раз увидели, но никогда не забудете? Потому что он был настолько странным и запомнился надолго 😱 У меня такой есть. Это джойн 15 раз в цикле с таблицей, от которой отфильтровываются строки, при этом несколько раз копируются датафреймы Хоть и требовалось максимально сохранить код автора, но я все равно переписала на один джойн + фильтр. Смотря на оригинальный код, я даже сейчас не до конца понимаю, что там происходит и как это писалось 🤪 @data_engineerette

Deckhouse Conf 2026 | 9 апреля | Москва, Main Stage Снова собираем техническое комьюнити на Deckhouse Conf. В этом году плани
Deckhouse Conf 2026 | 9 апреля | Москва, Main Stage Снова собираем техническое комьюнити на Deckhouse Conf. В этом году планируем два параллельных трека: технологии Deckhouse и кейсы внедрения. Готовим доклады про SDN в Kubernetes, виртуализацию, Software-Defined Storage и дашборды мониторинга. И это только начало, программа продолжает расти. Один день, 15 спикеров, стенды команд и партнёров, демозона и максимум живого общения с теми, кто двигает DevOps-практики и Kubernetes в России. Участие бесплатное, но мы модерируем заявки, чтобы всем хватило мест. Регистрируйтесь →

Один мой хороший знакомый попросил рассказать вам про предстоящую конфу. Они входят в топ-100 контрибьюторов кубера и делают платформу поверх него. Поэтому конфа ориентирована на крутые инфровые штуки

AI-эра 🤵 Я последние пару недель жестко подсела на видосы с фаундерами, CEO на тему бизнеса и AI. Все началось с поста про и
+4
AI-эра 🤵 Я последние пару недель жестко подсела на видосы с фаундерами, CEO на тему бизнеса и AI. Все началось с поста про интервью с основателем Revolut Николаем Сторонским. Дальше мне захотелось узнать мышление других мировых лидеров, и пошло-поехало В основном, на подкастах обсуждают, что нас ждет в 2030, 2035, 2040. Но уже в этом году прогнозируют, что появится AGI - Artificial General Intelligence. Если не в этом, то точно в следующем. Он будет умнее всех нас. К 2100 году один из экспертов по AI-безопасности предсказывает, что либо людей не будет, либо будут существа, которых мы не будем понимать 🍕 Из крутого на текущий момент - на США в гугле раскатана фича "Have AI call". Вы можете загуглить ближайшие рестораны, нажать эту кнопочку - через несколько минут вам на почту придет отчет, в каких ресторанах есть свободные места, а до каких агент не дозвонился Есть агенты, которые режут рилсы. Или гуглят по видосам, когда не можете вспомнить, где слышали цитату. А из особо крутого я узнала про Genie 3 от Google DeepMind - там можно смоделировать новый мир 📖 Также обсуждают, что детям сегодняшнего дня в колледж идти уже не имеет смысла. Потому что после выпуска они с очень высокой вероятностью не смогут найти себе работу. От людей требуется все более и более сложная работа 🤖 Физических роботов ожидают лет через 10-15. Мне очень понравилась идея от CEO Microsoft AI - робот проактивный, он знает, что на выходных будет куча гостей, сканирует холодильник, заказывает еду. Еще можно придумать, что в сам холодильник встроены программы (ПП, еще что-нибудь), и он понимает, чего тебе не хватает. А потом домашний робот принимает продукты от ровера и расставляет в холодильник. Ммммм... Список каналов, которые мне понравились: The Diary of a CEO - классный ведущий, задает нетривиальные вопросы Cleo Abram - тоже классные вопросы, канал ориентирован на обсуждение позитивных сторон технического прогресса Stanford Graduate School of Business - интервью с C-level в актовом зале для студентов Silicon Valley Girl - на Марину я подписана давно, но каких же крутых персонажей она теперь зовет на подкасты, некоторые дублируются на русском на втором канале Lex Fridman - очень своеобразный, он не про заковыристые вопросы, а про длительное монотонное общение @data_engineerette

Делаем ИИ-агента 📞 Сегодня ИИ - это не просто чат-боты, они уже умеют отвечать на письма, бронировать отели и рестораны, искать фразы в видосах, делать короткие видеоролики, записывать подкасты. Мы подходим к точке, когда у каждого человека будет один или несколько агентов, чтобы облегчать нашу жизнь (будем надеяться) Понять особенности агентов и научиться их применять для реальных задач можно будет на предстоящем вебинаре karpovꓸcourses. Там вы создадите ассистента-бота, который будет отвечать на вопросы по вашим загруженным документам На вебинаре вы: 🤍 Разберетесь в принципах работы LLM (больших языковых моделей) и генеративного ИИ 🤍 Погрузитесь в архитектуру ИИ-решений для реальных задач: Model, RAG, Agents, MCP 🤍 Узнаете, как выстраивать управление качеством и безопасностью ИИ-ассистентов, снижать галлюцинации и работать в закрытом контуре Дата вебинара: 17 марта 19:00 мск Регистрируйтесь по ссылке: https://clc.to/erid_2W5zFGzVVff Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627. erid: 2W5zFGzVVff

Датаклассы Наконец-то спустя год дошли руки написать про датаклассы 🌷 Меня спросили на собесе в ламоду, и тогда я про них либо краем уха слышала, либо вообще не слышала. Но точно не использовала. Посмотрим, что с ними можно делать Зачем? Датакласс описывает данные, но без кучи лишних методов. Он сам вместо нас добавит __init__, __repr__, __eq__ по дефолту. Набор методов можем сами менять с помощью флагов Как создать? Чтобы датаклассы заработали, нужно их импорнуть и добавить в виде аннотации:

from dataclasses import dataclass

@dataclass
class SparkParams:
  """Dataclass для параметров spark-submit команды."""

  name: str
  deploy_mode: str
  driver_cores: int
  driver_memory: str
  executor_cores: int
  executor_memory: str
  num_executors: int
Готово! Никакие методы добавлять не нужно Как использовать?

spark_params = SparkParams("test_app", "cluster", 2, "4g", 4, "32g", 8)
Другие фишки Запрещаем менять поля:

@dataclass(frozen=True)
Задаем дефолтные значения:

@dataclass
class Team:
  description: str | None = None
  emails: list[str] = field(default_factory=list)  # для list/dict/set
Чуть подробнее можно прочитать в короткой статье @data_engineerette

Iceberg — это must have? Вы еще не замечали, что становится больше вакансий, где айсберг уже требуют? С одной стороны, если п
Iceberg — это must have? Вы еще не замечали, что становится больше вакансий, где айсберг уже требуют? С одной стороны, если посмотреть на hh, то вакансий с айсбергом всего около 5%. Но, с другой стороны, в последнее время на меня выходят именно с формулировкой обязательности Собрала список компаний, которые хотя бы частично уже живут на Data Lakehouse: 📌Ламода 📌Магнит 📌Альфа 📌М.Видео 📌МТС 📌Сбер 📌X5 📌Лента 📌Золотое яблоко (Delta Lake) А вот Озон по состоянию на прошлый год планировал идти в Data Mesh, чем в Data Lakehouse Что вообще думаете? @data_engineerette

AI в OpenSource 🤓 У нас была проблема: аналитики переписывают свои скрипты с синтаксиса Trino на Spark, и в DDL они постоянно забывают поменять varchar на string. В итоге скрипты падают, только когда уже все вмержено в мастер (не круто) Линтер при этом не отлавливал такие кейсы, потому что varchar в диалекте спарка тоже существует, но с указанием длины: varchar(10) 🤔 Я покопалась в коде линтера, нашла проблему и завела issue на гитхабе Через 2 недели приходит отбивка, что все сделано. Я смотрю в PR: Copilot внес правки, Greptile все проревьюил🔥🔥 У кого так же в проектах настроено? PR: https://github.com/sqlfluff/sqlfluff/pull/7459 @data_engineerette

pre-commit Про эту штуку мне рассказал наш девопс. Короче, можно настроить у себя на ноуте, чтобы перед каждый коммитом прогонялись линтеры, форматтеры, другие легковесные чекеры Шаг 1. В корне репки создаем файлик .pre-commit-config.yaml и добавляем нужные модули:

repos:
  - repo: https://github.com/sqlfluff/sqlfluff
    rev: 4.0.4
    hooks:
      - id: sqlfluff-fix
        args: [
          --config, tables/.sqlfluff
        ]
Шаг 2. Устанавливаем pre-commit

brew install pre-commit
pre-commit install
Все хуки лежат в папке .git/hooks/ Шаг 3. Создаем свой файлик и коммитим При первой попытке запустятся форматтеры и исправят все ошибки:

git commit

sqlfluff-fix...............Failed
- hook id: sqlfluff-fix
- files were modified by this hook

== finding fixable violations ==
== [tables/test_table.sql] FAIL
L:   1 | P:   1 | CP01 | Keywords must be upper case. [capitalisation.keywords]
...
== [tables/test_table.sql] FIXED
На второй попытке файлик будет закомичен:

git commit
 1 file changed, 1 insertion(+), 1 deletion(-)
 create mode 100644 tables/test_table.sql
Больше примеров @data_engineerette

⚡️ Специальная стоимость на ближайший поток программы Data Engineer Только до 5 марта при оплате всей суммы сразу: 107 100₽ 1
⚡️ Специальная стоимость на ближайший поток программы Data Engineer Только до 5 марта при оплате всей суммы сразу: 107 100₽ 134 400₽ или $1300 $1500 при оплате иностранной картой в долларах Новый 18-й поток Data Engineer начнется 16 марта. Следующий – только в октябре https://de.newprolab.com --- 🧐 Полезные ссылки: Квиз о пользе программы для разных дата-специалистов → Квиз для тимлида: польза для моей команды → Рекомендации для оплаты программы работодателем →

Программа сейчас со скидкой до 5 марта

Влияние ИИ на маркетинг 🔝 Раньше бренды пытались быть в топе выдачи в поисковике, участвовали в аукционах, чтобы выбить себе
Влияние ИИ на маркетинг 🔝 Раньше бренды пытались быть в топе выдачи в поисковике, участвовали в аукционах, чтобы выбить себе первые места Когда я работала в маркетинге, наши аналитики очень часто обсуждали органический трафик. Это пользаки, которые перешли на сайт из поиска, а не рекламного баннера. Помню, как они заходили в браузер с разных устройств и с инкогнито, чтобы перепроверить актуальную позицию. Мы парсили запросы по ключевым словам с упоминанем бренда и без, и это все мониторилось на дэшах 💻 Сейчас же многие пользаки читают нейроответы (я в том числе) и уже там находят решение. При этом бренды остаются не в курсе, в позитивном или негативном контексте они там упоминаются По-моему, это открывает большое поле для манипулирования нашим выбором и сознанием) Нужно всего лишь чекнуть, какие источники анализирует нейронка, опубликовать на этих сайтах "какой у нас крутой продукт" и (вуаля!) нейронка говорит, что у вас самый лучший продукт 😁 Уже появились инструменты, которые парсят нейроответы, анализируют мнение топовых нейросеток за вас, включая тон упоминаний, сравнение с конкурентами и т.д. ✏️ Теперь бренды меняют подходы, чтобы нейронка их чаще упоминала в своих ответах. Они покупают пресс-релизы, где будет в позитивном ключе описываться компания, указывают точные реквизиты, чтобы было понятно, о какой компании идет речь, и в целом оптимизируют сайты под нейропоиск ❌ SEO (Search Engine Optimization) ✅ AEO (Answer Engine Optimization) ✅ GEO (Generative Engine Optimization) Это целая наука, меня прямо сильно затянуло в этом покопаться @data_engineerette

max_by/min_by Узнала про прикольные функции, они заменяют оконку/CTE на одно поле Пример - вывести имя сотрудника с максималь
max_by/min_by Узнала про прикольные функции, они заменяют оконку/CTE на одно поле Пример - вывести имя сотрудника с максимальным стажем по каждому департаменту

result = df.groupBy("department").agg(
    F.max_by("name", "years")
)
И все! Не надо никаких row_number = 1 В Spark SQL можно еще и фильтр набросить:

spark.sql("""
  select
    department,
    max_by(name, years) filter (where name is not null)
  from employees
  group by department
""")
А в Trino еще можно собрать массив топ-n в убывающем порядке:

select
  department,
  max_by(name, years) AS top_employee,
  max_by(name, years, 2) AS top_2_employees
from employees 
group by department
Аналог в ClickHouse - argMax @data_engineerette

Когда работаешь с айсбергом, но есть нюанс
Когда работаешь с айсбергом, но есть нюанс

Худшие фейлы в DE Наткнулась на тред в реддите, где обсуждались фейлы на работе. Мне больше всего зашли 2 истории, они такие смешные и страшные одновременно🤯 1️⃣Стриминг писал в то же самое место, откуда и читал. Это все длилось год, поэтому накопилось сотни триллионов миллиардов версий документов. Проблема обнаружилась, только когда к ним пришел AWS и пожаловался на проблемы в своих системах Неужели за этот год они не заметили, как эти пайплайны работают все медленее и медленнее, почему такая высокая нагрузка и что в таблицах кучи дублей? 2️⃣DE понизил уровень логирования до DEBUG, и это привело к расходам в 100к долларов за неделю Кажется, теперь я знаю способ, как можно уменьшить расходы компании. Ничего не логировать 😁 💰 Мы сейчас тоже переходим в эру FinOps. Будем пугать аналитиков, чтобы писали оптимальные запросы 😁 А у вас было что-то супер серьезное? Ссылка на тред @data_engineerette

16 марта начнется новый поток программы Data Engineer от Newprolab Будет полезно junior- и middle- дата-инженерам, аналитикам
16 марта начнется новый поток программы Data Engineer от Newprolab Будет полезно junior- и middle- дата-инженерам, аналитикам данных, бэкенд-разработчикам, техлидам и менеджерам, работающим с дата-командой 🎯 Пройдите интерактивный квиз и получите персональные рекомендации о пользе программы в зависимости от вашей роли + промокод на скидку! - 10 недель (16 марта - 29 мая) - 30 занятий (в зуме + видеозаписи) - 10 лаб с реальными данными и облачный кластер - чат с участниками и поддержка координаторов 📌 Что дает программа 1) научитесь решать типичные задачи DE 2) структурируете ваши знания и познакомитесь с новыми инструментами 3) поработаете с облачным кластером для решения лаб с реальными данными 4) видеозаписи и другие материалы программы останутся у вас навсегда 📌 Преподаватели – практики из ведущих компаний, рассказывают о сложном простым языком и ответят на все ваши вопросы Подробности программы на сайте ___ По всем вопросам пишите Алексею @snitsa

Откуда у них доступ к моему Airflow
Откуда у них доступ к моему Airflow

Подъехала задачка! На картинке a, b - исходные таблицы, res - итоговая Нужно написать один запрос, который вернет нужный резу
Подъехала задачка! На картинке a, b - исходные таблицы, res - итоговая Нужно написать один запрос, который вернет нужный результат в обоих случаях @data_engineerette

Никогда не ешьте в одиночку и другие правила нетворкинга 🤓 Я увидела эту книгу в рекомендациях, заинтриговало название, но как будто она вообще не про нашу жизнь) Она про конец 20го века, Америку и ведение бизнеса Кратко вот так: 📌составить список будущих контактов 📌познакомиться с ними 📌периодически им всем звонить и приглашать на встречи 📌быть оргом 📌создать личный бренд и сообщество 📌вертеться возле денег и в кругах сильных этого мира В книге есть главное противоречие: автор сначала говорит, почему нужно бескорыстно помогать людям и не стремиться к крупной сделке, а потом - как знакомиться с людьми, которые помогут заключить эту самую крупную сделку 😧 А это уже совсем cringe moment: звонить людям на автоответчик во внерабочее время, чтобы не тратить время на общение, но в то же время напомнить о себе. «Если ты не хочешь разговаривать, зачем звонить?» - моя мама Но я все-таки процитирую и прокомментирую некоторые мысли, которые мне понравились и которые хоть как-то можно привязать к нам Про "силу слабых связей" Сильные связи - это наши близкие друзья, родственники. И они посещают одни и те же места, как и мы, а слабые связи общаются с совершенно другими людьми Про деньги
Если то, что вы делаете, могут сделать многие, то обязательно найдется кто-то, кто готов будет сделать это за меньшую плату
Тут вспоминается конкуренция на позицию джуна де. А ведь если этот кто-то не нашелся, значит, это вы?
Творчество бесполезно, если от него нет практической отдачи. Постоянно думайте о том, каким образом это поможет заработать побольше денег
Мама мне говорила то же самое) Чтобы я занялась репетиторством, потому что хорошо учусь, или преподавала сольфеджио, потому что хорошо получается, или фоткала свадьбы, потому что увлекаюсь фотографией. Но в этом мире существуют же хобби? Про знакомства
Знакомясь с новым человеком, будьте готовы ему что-то рассказать. Все, что вы прочли и узнали в своей жизни, ничего не значит, если люди не считают вас интересным собеседником
Я недавно задумалась, что пора бы уже выучить пару анекдотов на русском и английском, подготовить смешную историю из своей жизни и топ-3 интересных факта о себе. Пока в этом списке (по моему мнению) - я участвовала в постановке оперы «Турандот» в гвардии принцессы. Норм для факта?
Не гоняйтесь за лидерами. Лучше попробуйте найти лидеров завтрашнего дня
По сути это как выйти замуж за айтишника-тимлида или за айтишника-джуна, но с потенциалом Про лайфхаки 1️⃣Клонировать события - если есть люди, с которыми нужно встретиться, но время ограничено, то можно их всех пригласить в одно место, чтобы еще и познакомить их друг с другом. А еще кого-то пригласить пораньше, а с кем-то задержаться. По-моему, это гениально 2️⃣Понравилась идея при знакомствах спрашивать любимый трек и пополнять свой плейлист 3️⃣Говорить людям, что с ними очень приятно общаться @data_engineerette

IPv4 vs IPv6 👀 Я раньше очень часто смотрела на таблицу с событиями пользователей из яндекс метрики. Там были столбцы Client
IPv4 vs IPv6 👀 Я раньше очень часто смотрела на таблицу с событиями пользователей из яндекс метрики. Там были столбцы ClientIP и ClientIP6: ClientIP - IPv4 с которого было установлено TCP соединение с сервером ClientIP6 - IPv6 с которого было установлено TCP соединение с сервером Причем ClientIP6 никогда не было заполнено. И я все время задумывалась: а что там вообще должно лежать? 👩‍💻 И вот недавно я собиралась поиграть с европейскими ребятками. Они подняли свой собственный сервер, чтобы пинг был меньше. Скинули мне примерно такую ссылочку: http://[2a02:8071:78f1:e662:416d:f389:ff96:442e]:8080/ Я в первый раз увидела, что такое IPv6 на самом деле) Оказалось, что на их стороне роутером не поддерживается IPv4, а на моей стороне провайдером не поддерживается IPv6 🌎Нашла интересную карту, где показано, что в США, Европе показатель доступности около 60%, Саудовская Аравия и Индия под 80%, пока у нас всего 3%. Представляете? https://stats.labs.apnic.net/ipv6/ Google показывает 9%, но складывается примерно такая же картина: https://www.google.com/intl/en/ipv6/statistics.html @data_engineerette