Архитектор Данных
1.18K subscribers
167 photos
11 videos
2 files
132 links
Алексей, архитектор данных из ВК.

Большие данные и облака.

Для связи @alexbelozersky
Download Telegram
Архитектор Данных
В Spark 4.1 появлся ... Airflow В документации версии Spark 4.1-Preview появились так называемые Spark Declarative Pipelines (SDP) На борту: 1️⃣ Несколько видов датасетов: Материализованные, Стриминговые, Временные 2️⃣ Пайплайн как объект. Описывается через…
Есть любопытный Q&A по фиче Spark пайплайнов.

Подписчики мне справедливо попеняли, что речь идет не про Airflow DAG, а скорее про декларативное описание моделей и потоков данных, что больше похоже на DBT, SQLMesh.

Как раз окрестратор в этом дополнении предельно простой - из одной команды spark-pipeline run my.yaml. Полноценный шедулер (пока) никто не делает. Хотя в будущем, полагаю, появится какой-то аналог dbt run с его селекторами.

На философском уровне, как также верно отметили комментаторы, спарк постепенно из библиотеки, которая запускает Map-Reduce в памяти, превратился в неимоверный комбайн, который разве что кофе не варит. Наверное, это судьба всех успешных фреймворков.

Я честно говоря, жду когда появится альтернатива, которая будет себя позиционировать как SimpleSpark. Или DuckSpark 😁

Если знаете такую, напишите в коментах.
105👍5😁2
Ехал метастор через метастор, видит метастор в метасторе метастор...

Одни очень большие ребята рассказали, что активно смотрят на Apache Gravitino. Плохого же не посоветуют, вот и я решил посмотреть.

А получается у нас на руках каталог каталогов, через который можно управлять метаданными во всем своем зоопарке. Имея на руках HDFS+Spark, StarRocks, Vertica (jdbc) и MySQL, можно из одного места раскатывать миграшки, управлять доступами и даже работать (если есть коннектор). Интересно как реализован линейдж, но мне кажется, что это не совсем тема каталога.

Идея интересная, наверное для больших ребят напрашивается. У нас сейчас 4 сервиса управления доступами (причем довольно разных), только миграции раскатываются через один сервис и однотипно. Аудит - не уверен что в этой штуке реализован корректно.

Подумал, что можно наконец выкинуть из стека Apache Ranger, но нет - это только прослойка для него.

Очень неоднозначная штука, на мой взгляд, и профит от нее для платформы надо внимательно рассматривать под микроскопом.

Видите пльзу для себя, затеялись бы внедрять? :)
🤔10🤯33
DataFusion Comet

Продолжаем разбор интересных докладов.

Сегодня - доклад с Iceberg Summit 2024 про движок Comet от Чао Сана (Chao Sum) Staff Engineer OpenAI

Comet - переписанный на Rust движок вычислений для Spark с векторизацией (SIMD). Включается как Drop-In Replace, если не может по какой-то причине, то сам фолл-бечится на Scala. В итоге получаем скорость Rust, не теряя богатство экосистемы Spark и его API. На бумаге.

В докладе неплохо разобрано, как выглядит с точки зрения Спарка простой запрос. Потом добавляем к нему векторизацию.

Видео c таймкодами ниже в канале или на ВК. Оригинал Youtube - без таймкодов.

Ранее в разборах:

Часть 1 - Разбор нововведений Iceberg v3
Часть 2 - Streaming Data Lake - Redpanda

------------------------------------
------ Архитектор данных -------
------------------------------------
👍543
Media is too big
VIEW IN TELEGRAM
01:15 - Улучшаем производительность нативного движка Spark
05:10 - Как исполняется код на Spark под капотом и его узкие места
08:45 - Векторизованная модель исполнения кода
10:39 - Comet - движок поверх Dafafusion + Arrow
27:10 - Интеграция Comet - Iceberg
31:36 - Как включить векторизованный движок при чтении Iceberg-Parquet
75👍3
Архитектор Данных
DataFusion Comet Продолжаем разбор интересных докладов. Сегодня - доклад с Iceberg Summit 2024 про движок Comet от Чао Сана (Chao Sum) Staff Engineer OpenAI Comet - переписанный на Rust движок вычислений для Spark с векторизацией (SIMD). Включается как…
В коментах вспомнили отличный доклад на Smart Data 2025. Ребята измерили, как на практике работает Comet (Rust), Velox (C++) движки Spark'а.

Слайды тут:
https://smartdataconf.ru/talks/8e248260514840208beaf9cf90cc0778/?referer=%2Fschedule%2Ftable%2F

На картинке спойлер, но посмотрите слайды, там больше деталей. Видео пока что за пефволом
65🔥2👍1
Напомню и про свой доклад

https://vkvideo.ru/video-164978780_456239739

Внутри прожарка формата Iceberg - как оно устроено и почему именно так. Как получается (почти) транзакционная система хранения данных при хранении в нетранзакционном S3.

Во второй части короткий воркшоп.

Есть текстовая версия на Хабре. Статья вошла в топ хабрастатей от ВК 2025 года. Даже медальку в интранете дали 🏅

Для тех, кто хочет познакомиться поближе и пощупать технологии Iceberg, Lakehouse, DBT руками - приглашаю на курс. Стартуем 5 февраля
👍1142🔥1
WB Track - уже видели?

Теперь можно отправить посылку через логистику Wildberries. Адресат заберет ее из своего пункта ПВЗ.

https://track.wildberries.ru/

Вполне логичный шаг, когда есть логистика такого масштаба. Заодно WB окучивает селлеров, которые не работают через маркетплейс, но которым нужна доставка товара до клиентов с развитой сетью и сервисом. Плюс к тому, у маркетплейсов теперь будет большая проблема в содержании сети ПВЗ из-за повышения налоговой нагрузки на малый бизнес. ПВЗ - армия на марше, которую надо кормить, любая дополнительная копеечка сгодится.

Молодцы, что сказать.

Ну а мы можем оценить - какой объем данных генерирует доставка 1 млрд посылок за год
💾💾💾💾💾
Please open Telegram to view this post
VIEW IN TELEGRAM
92👍2👏1😁1
Частое обсуждение архитектуры заказчика:

- У вас тут паяльник воду кипятит. Это неудобно, лучше взять чайник.
- Нам еще гвозди надо забивать. Пробовали чайником - ломается, а вот паяльник подошел!

И смотришь потом на самописный BI, который достает данные из ElasticSearch, и не знаешь, как подобрать аргументы.
😁264💯21
Мы или не мы?
💯6
Философское - облако и разделение труда (1)

В одной умной книге по современной экономике натолкнулся на отличную мысль.

Прогресс и рост экономики последние сотни лет идет по линии разделения труда.

В городе три мастера, которые делают телеги сами от начала до конца. Если они договорятся, и один будет делать корпус, второй колеса, третий сбрую, то их суммарная производительность вырастет. Доустим с 3 телег в неделю до 6.

Но это не бесплатно, потому что теперь они зависят друг от друга. Что если мастер колес заболеет? Все останутся без еды! А если мастер сбруи решит делать сбрую не для телег, а для наездников или договорится с другими мастерами? Зависимость растет и растут риски.

Поэтому выгоды кооперации должны перевешивать риски. Например рядом должен быть огромный ненасыщенный рынок телег с тем чтобы рост продаж телег с 3 до 6 давал прибыль такую, что она перевешивает риски. Или рост производительности ведет к увеличению выпуска не х2, а х10.

Начальная точка - натуральное хозяйство, где каждый занимается всем для себя. И зерно вырастил, и дом построил, и лапти связал. Конечная точка - строительство реактивного самолета, адронного коллайдера, космической станции, которые в принципе возможны только в условиях кооперации всех развитых стран Земли.
41🤔1
Философское - облако и разделение труда (2)

Переложим эту мысль на наш мир ИТ.

Если мы переложим часть задач разработки на аутсорс, мы успеем больше. Риски от этого повысятся: вдруг заказчик обанкротится, профакапит, сорвет сроки, сделает не так как надо?

Можем взять на администрирование СУБД или кубернетисов внешнюю команду. Можем часть функционала закрыть SaaS.

Рост кооперации, рост производительности, но и рост рисков.

Чтобы заняться ростом кооперации, нужно чтобы удовлетворялось ряд требований.

1️⃣ Члены кооперации должны уметь считать выгоду и главное, риски. Часто бывает, когда критический функционал аутсорсится, а внутренняя команда занимается всякой ерундой.

2️⃣ Должно быть доверие между участниками. Доверие создается годами и успешными проектами. Часто просто должно пройти время.

3️⃣Рост производительности должен конвертироваться в рост благосостояния. Телеги должны продаваться и растить маржу, а не оседать на складе.

4️⃣ Риски должны быть разумными и не расти со временем. Не должно быть риска роста рисков - например введения смертельных штрафов в случае если что-то идет не так.

Хотя как известно, нет такого преступления, на которое капитал не пойдет ради 500% прибыли. Люди идут на риск даже при угрозе физического вывоза себя в лес.
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Философское - облако и разделение труда (3)

Верх кооперации в ИТ - Платформы и облака.

Сегодня у большой ИТ компании может быть 0 собственных серверов, а продукт базируется на IaaS, PaaS, SaaS сервисах.

В то же время многие либо сидят на своей инфраструктуре, либо даже мигрируют в другую сторону: с облака на землю.

Если спросить, почему они так делают, то мы по сути получим какой-то недостаток из 4 пунктов выше.

Часто приходится слышать о таких вещах как

🔤 Мы поехали в облако, а оно нас подвело вследствие багов и аварий. Разрушение доверия, реализовавшиеся риски.

🔤 У нас регуляторные ограничения. Прямой запрет на этот тип кооперации от государства. Так как государство считает, что рост рисков конкретно в этой области неприемлем.

🔤 У нас и так все хорошо. Нет рынка для сбыта новой продукции. Нет воли к расширению. Экономика расширения не сходится.

При этом эти глубинные возражения как правило, не озвучиваются. Никто на встрече с представителями подрядчика или вендора не скажет: мы не верим вам достаточно, чтобы поручить вам критичный для нас функционал. Скажут: вот вам таких и таких фичей не хватает, и это срывает головы. Сейлу и продакту кажется, что вот-вот еще доработать то и это, и тогда мы получим крупного клиента.

Не получите. Не потому что фичи плохие, а потому что доверия к вам нет. Sad but true.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4👍3🔥1
Артем, спасибо за вопрос!

Договор - это хорошо, но есть ряд нюансов.

1) Договоры бывают разные. От ничего не обязывающей рамки до суровых "бери или плати" схем.

2) Договор - это скорее следствие возникшего доверия, а не его причина. Причем, это скорее промежуточный этап отношений. Это как девушка согласилась взять у тебя букет и пойти с тобой в кино 🙂. Да, успех, да, ты на верном пути, но до крупкой семьи и домика с белым забором еще довольно далеко.

Большинство договоров это что-то вроде входного билета в ИТ-мир заказчика. Ты становишься одним из вариантов решения неких проблем внутри - если ты вендор. Или тебе дали возможность решить одну прикладную задачу - если ты подрядчик-интегратор.

А "крепкий брак" и возникшее доверие - это когда по любой возникшей ИТ проблеме к тебе бегут к первому.

В случае облака - у крупных заказчиков как правило несколько облаков. Какие сервисы и на какой объем будут в какой зоне размещаться - всегда вопрос.
👍5💯5😎2
Задачка для съевших собаку на Гринпламе. Реши если силен!

В кластере гринплама 1 мастер, 1 стендбай-мастер и 24 сегмент-сервера. Я выключаю случайные 2 сервера. С какой вероятностью кластер упадет в отказ в обслуживании?

Со звездочкой - выдергиваю 5 случайных нод.
53👍2😁1
Монументальная статья от Cedrus Data про движок DataFusion, но не в Спарке, как Comet, а в Trino. Их движок на Rust назван Oxide.

Утянул главный спойлер - Тест производительности.

Но вы прочитайте всю статью, там интересно.
👍433