23384
Делюсь новостями из мира аналитики и карьерными советами. 15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG 🛠️ dataengineer.ru | 🏄♂️ Surfalytics.com №5017813306 Реклама: https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Мы рассмотрели компоненты хранилища данных, теперь озеро данных. К нему можно применить термин decoupled.
Изначально использовался Hadoop — открытая распределенная вычислительная платформа и компонент файловой системы HDFS для хранения и обработки больших объемов структурированных и неструктурированных данных на кластерах недорогих компьютеров. Для аналитики использовался MapReduce, но написание задач было сложным, поэтому был создан Hive для преобразования SQL-запросов в задачи MapReduce.
Со временем перешли от кластеров Hadoop к облачным объектным хранилищам (Amazon S3, Minio, Azure Blob Storage) из-за удобства и дешевизны. MapReduce заменили другие распределенные движки, такие как Apache Spark, Presto и Dremio. Однако формат таблиц Hive остался стандартом для распознавания файлов как таблиц для аналитики.
Ключевое отличие озера данных от хранилища данных — возможность использования разных вычислительных движков для различных задач. В озере данных нет службы, выполняющей функции движка хранения; обычно движок вычислений решает, как записывать данные, которые редко оптимизируются и совершенствуется.
Преимущества:
- Низкая стоимость: Хранение данных и выполнение запросов дешевле, чем в хранилище данных.
- Открытые форматы хранения: Можно использовать любые форматы файлов.
- Обработка неструктурированных данных: Озера данных могут обрабатывать данные, такие как данные сенсоров, вложения электронной почты и журналы.
Недостатки:
- Производительность: Отсутствие встроенных оптимизаций, таких как индексы и гарантии ACID, приводит к необходимости значительных усилий для достижения производительности, сравнимой с хранилищем данных.
- Сложная конфигурация: Необходимость значительных инженерных усилий для настройки и оптимизации компонентов.
- Отсутствие гарантий ACID: Нет встроенных транзакционных гарантий, что усложняет задачи, требующие строгой целостности данных.
Хранилище данных или озеро данных?
Озера данных хорошо подходят для хранения структурированных и неструктурированных данных, но имеют свои недостатки. Для высокоприоритетной аналитики данные часто копируются в хранилище данных, что приводит к дополнительным затратам и созданию множества копий данных, что не очень удобно и очевидно дороже.
Для выполнения запросов на озере данных можно использовать движки, такие как Dremio, Presto/Trino, Apache Spark и другие, но они сталкиваются с трудностями при обновлении данных из-за ограничений формата таблиц Hive.
Таким образом, озера данных и хранилища данных имеют свои уникальные преимущества и недостатки, что привело к появлению новой архитектуры, сочетающей их плюсы и минимизирующей минусы, — Data Lakehouse.
Как я первый раз познакомился с Lakehouse?
Был 2021 год, я был в Amazon Alexa, у нас было много данных и централизованный Redshift на 128 нод (максимальное кол-во нод) использовался для BI use cases. Redshift (хранилище данных) был единственный вариант для BI (отчетность), так как подключаться к озеру данных через Athena, Hive, Spark было не очень удобно из-за объема и особенности BI.
Тем не менее у Alexa было и озеро данных (upstream) на S3 и EMR (managed Hadoop). И там не было проблем с производительностью или хранением большого объема данных. Главная проблема была подружить это с BI и поэтому приходилось выгружать из озера и грузить в хранилище, а потом еще раз выгружать из хранилища обратно в S3 для ML.
Как раз в это время вступил в силу закон про data privacy (GDPR), для нас это простая задача - удалить CUSTOMER_ID(s) по запросу клиента раз в неделю. Это очень просто в реляционном хранилище данных, но очень сложно в озере данных (так как у вас просто куча файлов)
Поэтому мы стали смотреть в сторону Lakehouse, и первый open source был Delta для Spark.
Я как разу перешел в Xbox, и у меня была идея построить Delta Lake на Databricks, что я и сделал. Тогда Delta Lake был топ формат таблицы (теперь то мы знаем, что это не формат файлов). А вот сейчас походу надо уже строить на Iceberg. Хотя в Databricks все еще по умолчанию используется Delta.
А как было у вас?
Авито запускает менторскую программу, доступную для каждого, кто стремится к развитию и росту 🚀
Наставники из компании прошли тот же путь, что и вы. Они знают, как это — искать работу, стремиться к повышению, создавать крутые продукты и справляться с вызовами. И готовы делиться своими знаниями и опытом!
🔍С чем поможет ментор:
• разобраться в новых технологиях и смежных областях
• подготовиться к сложному собеседованию
• прокачать хард-скиллы
Найти ментора из Авито можно на Getmentor и Solvery.
Есть разные форматы работы: платные встречи или сессии за взнос на благотворительность 💚
Так хорошо отдохнул, что забыл ноутбук за 500км, забыл его в пятницу, а вспомнил в понедельник вечером! Повезло, что он отмечен в Find My Device.
Читать полностью…
Возможна ли 4х дневная рабочая неделя? Легко, если ваши дети уже могут уже работать с компьютером.
У нас в пятницу поплану большой трип и чтобы не терять время, я передал ноутбук детям, они там угорали с имен коллега, читали сообщения, отвечали и выбирали веселые эмоджи. Сын даже заапрувил 3 PR в прод и написал “if anything break, rinse and repeat, happy to approve!”
В общем все при деле👨💻
Забирайте идею! Заодно дети познают взрослый корпоративный мир, slack, GitHub, code reviews и тп. Мне кажется я так могу путешествовать 5 дней в неделю🚗
Классная история про Clickhouse - The Fast and the Furious: How ClickHouse, the World’s Fastest Open-Source Database, is Creating the First Real-Time Data Warehouse
Читать полностью…
Apache Iceberg - What Is It - статья про Apache Iceberg, с картинками и объяснением
Кстати в Yandex и VK, как дела c Lakehouse обстоят да и в целом в РФ интересно куда сместился акцент. Раньше это было Clickhouse/Greenplum и обычно on-premise, а теперь?
Leading Effective Engineering Teams - новая книжка по управлению инженерными командами!
The essential traits for engineering effectiveness and the pitfalls to avoid
How to cultivate trust, commitment, and accountability within your team
Strategies to minimize friction, optimize career growth, and deliver maximum value
The dynamics of highly successful engineering teams and how to replicate their achievements
How to implement a systems thinking approach for everyday problem-solving and decision-making
Self-advocacy techniques to enhance your team's visibility and recognition within the organization
Судя по отзывам в Linkedin, отлчная книга, у автора свой большой блог https://addyosmani.com/ и он уже успел написать много книг.
Ответил еще на два вопроса:
1) заменит ли нас AI? 🤖
2) Что делать с опытом IBM DataStage 🦖
Небольшая история про консалтинг, типичный бутик по внедрению современных аналитических решений в Северной Америке. Недавно наблюдал результат работы такой компании.
Компания специализируется на создании хранилища данных, интеграции данных, построении дашбордов. Условно у вас есть своя компания/стартап и вы слышали про data driven культуру, принятие решений на основе данных и тп, и решили воспользоваться услугами, чтоб наконец получить долгожданные insights и как говорит Гребенюк - “добавить ноль справа” к вашей выручке.
Далее расскажу пример реализации. В данном контексте, я лишь унаследовал, то, чтобы внедрено в течение прошлого года и больше как на позиции adviser по data engineering, чтобы понять как все масштабировать, найти bottle necks, да и просто сделать reverse engineering.
Цена удовольствия такой компании 60k US$ в месяц за 1,5-2 консультанта в месяц (расценки в США, наверно такие жирные). Консультанты не простые, ребята укомплектованы best practices и сертификатами по dbt, snowflake, fivetran, sigma, looker и тп. Я их не застал, но застал все решение и изучил его сверху вниз (от BI дашбордов, до источников данных)
Если кратко суммировать, то было создано много дашбордов, dbt моделей, таблиц, слоев, схем. Сами дашборды похожи на новогодние огоньки, где каждую метрику визуализируют несколько раз (line chart, bar chart, kpi, и тп), сами дашборды как простыня, которую можно долго скролить.
То есть по факту, ребята реально наклепали всего на всю катушку, проблема лишь в том, что кол-во никак не коррелирует с качеством.
Такое впечатление, что им платили за “output”, то есть вроде все крутится вертится, но по факту бесполезно. Чем больше я погружался, тем больше было заметно, что все дашборды и показатели совсем не помогают бизнесу.
Про всякие вещи, типа синхронизации time zones (UTC) такого вообще нет.
Поэтому выводы:
1) Самый лучший способ быстро вкатиться в проект, это его задокументировать сверху вниз (reverse engineering)
2) Самый лучший способ показать бурную деятельность это клипать дашбордики, модели и таблицы, чем больше, тем лучше (особенно если вам плевать на результат)
3) Fivetran вообще топчик для интеграции данных, но вы платите за кол-во строк! Например, в нашем случае, цена Fivetran была выше в 10 раз, чем сам Snowflake.
4) dbt labs после dbt core кажется бесполезным, но помогает экономить силы на расписании (с dbt core, нужно Airflow или типа того)
5) Sigma - прикольный light weight BI инструмент в браузере, но если вам достались дашборды с простынями из графиков, то удачи, а так позволяет очень быстро наклепать дашбордиков и отличная интеграция со Slack или Email.
PS картинка просто с похожим стеком, современней уже быть не может!
The Trimodal Nature of Tech Compensation Revisited - статья про уровни зарплат.
Любая зарплата (total compensation) складывается из 3х частей:
Base salary + cash bonus + Stocks (“акции” или типа того)
Акции компании бывают разные, если компания публичная как Amazon, вы получаете акции RSU и каждый квартал вам их выдают, вы можете их продать.
Так же если компания публичная, вы можете покупать акции на 15% процентов свой зарплаты со скидкой 10% (Например Microsoft и другие).
В статье уже более детально все описано.
Я лишь подумал о другом.
Условно когда мы ищем работу, нам бы лучше выбрать компанию, где есть все и сразу. В FAANG, это разумеется есть, но таких компаний мало, а желающих много. (Tier 1)
Поэтому надо смотреть Tier 2 компании, которые так же вам могут предложить что-то кроме зарплаты. Ведь базовая зарплата у всех +/- будет одинаковая, а все, что выше это бонусы, стоки и тп.
Часто бывает опцион в стартапах, где вам обещают буквально миллионы, если компания станет публичной. Я вам тоже могу обещать миллионы, если вы будете играть в лотерею😅 Ну смысле не будьте наивными.
Поэтому, не забывайте при поиске работы взвешивать все возможные варианты, и если есть выбор, где работать, попробуйте отсортировать компании по их возможности вам платить (вне зависимости от базовой зарплаты).
И все это к чему? А к тому, что лучше искать работу, когда у вас все хорошо, и есть возможность подойти к вопросу отбора без спешки, чем когда у вас все горит….
Сегодня на Surfalytics мы разбирали интересную задачку по Spark (PySpark), которую прислали в качестве тестового задания на Sr Data Engineer с вилкой для Канады 200к CAD - 220к CAD, что очень неплохо, удаленная работа на проект в консалтинг.
Задание мне понравилось:
Нужно взять 3 файла с данными, сделать трансформацию и сохранить результат. Идеальное упражнение для всех, кто учится на Data Engineer и начинает работать с PySpark. Я потратил где-то 2 часа на это упражнение и рассказывал про каждую строчку кода и приводил примеры как это работает в production и какие вопросы можно будет ожидать на собеседовании, или как тоже самое сделать с помощью SQL. Рассказал про Test Driven Development и многое другое.
Код удалось сохранить, вы можете самостоятельно решить задачку: https://github.com/surfalytics/data-projects/tree/main/de-projects/10_spark_transformations_with_tests_framework.
Вообще это очень хороший пример, как разрабатывать на Spark и как сразу писать тесты ко всем функциям/трансформациям.
Было бы еще классно к решению добавить:
- PySpark Style guide: https://github.com/palantir/pyspark-style-guide
- Использовать GitHub Actions, чтобы у вас тесты выполнялись, когда вы делаете commit (Continuous Integration)
- Попробовать тоже самое на Snowflake и dbt
- Попробовать тоже самое на Databricks (+ Repos, Unity Catalog)
PS это лишь маленький пример, что мы делаем на Surfalytics🏄
Пришел вопрос прокомментировать картинку про поиск работы в Канаде (можно заменить на любую страну). Про Канаду еще была замечательная статья - Рекрутинговый ад или как я в Канаде IT работу искал.
Как я понимаю, сейчас в Москве отлично с вакансиями и зарплатами, не думали 1С подтянуть и на удаленку в Москву из Европы или Северной Америки, tax free?🤱
Я согласен с тезисами. Я сам активно собеседуюсь всегда, когда можно, помогаю другим проходить собеседования и готовиться к ним. У меня все просто “результат любой ценой”.
99% агентств - это какой-то шлак. Если на фотке рекрутер из Индии, то можно вообще время не тратить, вам либо предложат 1/3 от вашей стоимости. Мне кажется это из 90х - ожидание и мифических агентствах, кто вам найдет работу и все за вас сделает. Поэтому не будьте наивными не рассчитываете на агентства, люди там копейки получают и им вообще плевать на вас. Но при этом могут какую-то ерунда спрашивать.
На каждую вакансию откликается огромное кол-во кандидатов, мне кажется, что 80% из них вообще даже не подходят под описание или не имеют разрешение на работу, НО они забивают своими резюме “внимание” рекрутер, и до вас может даже очередь не дойдет.
Как и везде, куча людей, которые предлагают наставничество, курсы, тренинги и тп. Здесь могу сказать одно - если вы не можете сами написать резюме, ничего не изменится если вам за 1000$ сделают резюме. Вы все равно сольете собеседование.
Александр на картинке имеет титл Sr Program Manager и к сожалению это вакансия как и многие другие решена специфик. С одной стороны Program Manager может быть и Project Manager, и Product Manager, и еще куча всяких вакансий, поэтому и желающих больше и 100% сложней найти. И кол-во сертификатов никак не поможет получить работу.
Для себя я выработал следующие принципы:
1) Я занимаюсь создание личного бренда
2) Я стараюсь бить в одну точку (специализация - дата инженер, это как сантехник, ценность специалиста понятна, прозрачна и измерима)
3) Я всегда ищу работу, даже если не надо, навык собеседования и story telling очень важе
4) Я стараюсь не зависеть 100% финансово от одной работы
5) Я всегда учусь (upskill), многие люди думают, что они и так все знают или выучат уже на работе. Как говорится - фатальная ошибка. Такая же как быть супер честным на собеседовании🤗
6) У меня нет никаких ожидание ни от менеджера, ни от компании, ни от коллег, все что я делаю, я делаю для себя (работать по вечерам? работать по выходным? работать 12 часов в день?)
7) Приоритеты важны, и приоритеты должны быть не личные, а семейные. Если семейные приоритеты хороший и стабильный income, значит приоритеты в семье могут измениться.
8) Какой-нибудь нетворкинг - поддерживать отношения с бывшими коллегами, ходить на митапы, быть very nice для всех ваших professional connections.
Это так, что первое пришло на ум. А так вообще сложно оценить такие посты, ведь нет конкретики, цифр.
PS не забывайте про козырь в рукаве - напишите в резюме, что вы ветеран-трансгендер (желательно не белый), тогда ваши шансы возрастут! Надеюсь видео пруф не попросят🤣
Все привет! Оставьте в комментариях вопросы и я смогу ответить на них более развернуто🍞
Читать полностью…
dbt — ядро современной платформы данных - Евгений Ермаков - SmartData 2023 (Рубрика #Architecture)
Интересный доклад Евгения Ермакова про построение дата платформы в toloka.ai, которая, получив независимость от Yandex, вынуждена была переезжать на новые технологии. В итоге, выбор пал на databricks, dbt, airflow и tableau. Автор рассказывает о том, почему был сделан такой выбор и как в итоге это все работает.
Основные моменты следующие:
- Сама toloka - это система для краудсорсинга, куда заказчики приходят с задачками навроде разметить данные, а с другой стороны на платформе зарегестрированы люди, которые их выполняют
- Архитектура базируются на трех китах:
-- Data lakehouse
-- Процессы в соответствии с подходом data mesh
-- Современный технологический стек
- До переезда на новые технологии ребята использовали много своего, часть из которого уже есть в opensource: YTsaurus, datalens
- После переезда выбрали новые технологии и dbt стал ядром системы, закрывая функциональность: data quality, data catalog/ data observability, batch processing (вместе со spark), orchestration (вместе с airflow)
- Изначально dbt (data building tool) нужен был в качестве удобного инструмента для transformation шага в ETL/ELT
- Интересно, что в концепции компании dbt есть мнение и относительно ролей, где помимо стандартных data engineers и data analysts появляется еще analytics engineer. В итоге, data engineers - это те, кто делают так, чтобы data платформа работала эффективно, data analysts ищут инсайты в данных и помогают их эффективно использовать, а вот analytics engineers - это ребята, что-то среднее между другими двумя + хорошо укладывается в концепцию data mesh, где нет централизованной дата-команды, а есть дата-команды по доменам
- Основой dbt-проекта является dbt model. Модель состоит из файла с описанием логики (.sql или .py файл) и файла с описанием конфигурации. В .sql файле есть запрос на формирование объекта, другие модели используются через ref() или source() + используется jinja шаблонизация. В .py файле возвращаем dataframe с рассчитанными данными, есть доступ ко всем возможностям pyspark + другие модели тоже используются через ref() или source()
- Материализацию запроса dbt берет на себя и есть разные стратегии, из которых самая интересная incremental
- Настройки хранятся в dbt_project.yaml и profiles.yaml
- dbt поддерживает большое количество баз данных, например, postgres, mysql, clickhouse, ...
- dbt - это консольная утилита, например, при запуске dbt build происходит сборка всех зависимостей между моделями, а также компиляция python/sql запросов и запись в manifest.json
- Команда dbt run запускает скомпилированные запросы, где запуск можно настроить по разному, но интересно запускать по графу
- Кстати, dbt умеет генерировать документацию командой dbt docs generate и дальше можно посмотреть на lineage данных
- Также мы можем писать тесты в том же месте, где мы описываем модели, а дальше запускать их при помощи dbt tests. Например, можем проверять unique или not null на поле, а также если хотим relations между моделями
- У dbt есть еще много возможностей, но про них стоит почитать самостоятельно:)
- Дальше автор рассказывает как сделать data mesh на уровне dbt + airflow. Автор рассматривает варианты вида:
-- Монолитный - один dbt проект на всю компанию
-- Микросервисный - отдельные dbt проекты на каждый домен
-- Layered - отдельные dbt проекты по уровням
-- Смешанный - анархия, где проекты создаются кто как хочет
Выбрали монолитный подход и получили аля монорепо под data mesh, в котором живут все. Обусловлено это было тем, что при микросервисном подходе ломались все связки между моделями (до 1.6 не могли называть модели одинаково в разных проектах + была проблема с импортом друг друга, так как это приводило к циклическим зависимостям).
Из интересного еще сделали конвертор графа исполнения dbt в airflow формат, чтобы запускать DAG из airflow.
В итоге, ребята реализовали свой подход к data mesh при помощи open source инструмнетов и вся схема выглядит достаточно стройно.
#Data #Datamesh #DWH #Processes #Management
Одна из сложностей для обучения, курсов и тренингов - оторванность от реального бизнеса.
Обычно выбор сводится к данным Airbnb в CSV файла, NY Taxi в Parquet и тп, затертых до дыр use cases.
У меня давно была идея как-нибудь решить эту проблему.
В мое случае, я хочу сделать реальный интернет магазин с реальным товаром, например футболки. Чтобы все это упростить, пусть это будет drop-shipping/print on-demand на Shopify, интеграция с Stripe, Google Ads, Facebook Ads, LinkedinAds. Можно даже на Amazon положить.
Сам объем продаж и профит мне не важны, мне важны реальные данные и реальные use cases.
Для начала я решил скрестить дорогие машины и прикольный спорт (серфинг, лыжи, горный/дорожный, велосипед, кайтинг), еще рыбалка и охота. Выбрал разные машины типа DeLorean time machine, Ford GT40, Lamborghini Countach LP500 S, FERRARI TESTAROSSA, и тп + 2 бонусом Volga GAZ 21, vaz-2108.
Попросил мою любимую дизайнерскую студию https://studiomuti.co.za/graphics придти с идеями дизайна и товарища предпринимателя изучить вопрос местного рынка футболок, кто интегрируется с shopify. (Товарищ до Канады продавал на Озоне успешно, так что можно будет потом и на озон закинуть ради эксперимента).
PS это я дизайнерам нарисовал гелик с серфом в качестве ТЗ:)
Кстати наш Data Surf bootcamp будет 20-25 Августа в Тофино.
Сегодня посмотрим на компоненты хранилища данных.
Хранилище данных это у нас просто большая база данных, часто это может быть распределенная (кластер из нескольких машин, чтобы они вместе все параллельно обрабатывали данные, ведь так быстрей и можно больше данных обработать - ну или просто Massive Parallel Processing)
Хранилище данных объединяет все технические компоненты в одной системе.
Все данные хранятся в собственных форматах файлов и таблиц на его собственном хранилище. Эти данные управляются исключительно движком хранения хранилища данных, регистрируются в его каталоге и могут быть доступны только пользователю или аналитическим движкам через его вычислительный движок.
До примерно 2015 года большинство хранилищ данных имели компоненты хранения и вычислений, жестко связанные на тех же узлах, так как они были разработаны и использовались в основном на местах.
Это приводило к множеству проблем. Масштабирование становилось большой проблемой, так как объемы данных быстро росли, а количество и интенсивность нагрузок росло.
Не было возможности независимо увеличивать ресурсы хранения и вычислений в зависимости от задач. Если ваши потребности в хранении данных росли быстрее, чем потребности в вычислительных ресурсах, вам все равно приходилось платить за дополнительные вычислительные мощности, даже если они вам не были нужны.
Это привело к созданию следующего поколения хранилищ данных с акцентом на облачные технологии. Эти хранилища данных начали набирать популярность примерно в 2015 году, когда облачные вычисления стали более распространенными, позволяя разделять компоненты хранения и вычислений и масштабировать эти ресурсы в соответствии с задачами. Они даже позволяли отключать вычислительные ресурсы, когда они не использовались, и не терять при этом данные.
Хранилище данных до сих пор является отличным решением для построения аналитического решения.
Минису все известны:
- Поддержка только SQL
- Вы платите за compute и storage вместе (Snowflake и тп это lakehouse и о нем будет позже)
- Сложно использовать для ML, так как данные нужно выгружать
- У вас schema on write (то есть у вас таблица создана и вы в нее уже пишите как есть)
- Не очень удобно для streaming/real time аналитики, обычно это batch - раз в час, раз в сутки
- Это Vendor Lock
В след посте рассмотрим озеро данных.
Источник: https://www.oreilly.com/library/view/apache-iceberg-the/9781098148614/ch01.html
PS Судя по прошлым комментариям, я рад что ребята в Авито Тех тоже прочитали книгу и поделились знаниями со своей аудиторией🙃
В Surfalytics я попросил всех прочитать 1ю главу и понять, так как очень важно понимать разницу между DW/Data Lake/Lake House и знать их особенности.
Основных компоненты системы для аналитики (System Designed for OLAP Workloads)
В данном контексте OLAP подразумевает аналитические запросы (сложные запросы на исторических данных).
Хранилище (Storage)
Для анализа исторических данных из различных источников необходимо иметь систему, позволяющую хранить большие объемы данных. Хранилище — это первый компонент системы, способной обрабатывать аналитические запросы к большим наборам данных. Варианты хранилища включают локальную файловую систему (DAS), распределенную файловую систему (HDFS) и объектное хранилище от облачных провайдеров (Amazon S3).
Типы хранилищ могут быть строковыми (row) или поколоночными (columnar) базами данных, или их комбинацией. Columnar уже является стандартом.
Формат файлов (File format) Для хранения, данные должны быть организованы в определенном формате файла. Выбор формата файла влияет на сжатие данных, их структуру и производительность работы.
Форматы файлов делятся на три категории: структурированные (CSV), полуструктурированные (JSON) и неструктурированные (текстовые файлы). В структурированных и полуструктурированных форматах данные могут быть организованы построчно или поколоночно. Примеры построчных форматов — CSV и Apache Avro, поколоночных — Apache Parquet и Apache ORC.
Формат таблицы (Table Format)
Важный компонент для системы, поддерживающей аналитические запросы к большим объемам данных. Формат таблицы действует как слой метанных над форматом файла и отвечает за расположение данных в хранилище.
Цель формата таблицы — упростить структуру данных и обеспечить возможности для операций с данными (вставка, обновление, удаление) и изменения схемы таблицы. Современные форматы таблиц также обеспечивают атомарность и согласованность операций.
Движок хранения (Storage engine)
Отвечает за размещение данных в заданном формате таблицы и поддержание всех файлов и структур данных в актуальном состоянии.
Движок хранения выполняет такие задачи, как оптимизация данных, поддержание индексов и удаление старых данных.
Каталог (Catalog)
При работе с данными из разных источников важно быстро находить нужные данные. Каталог решает эту задачу, используя метаданные для идентификации наборов данных.
Каталог — это центральное место, где можно найти информацию о таблицах, их схеме и расположении данных. Некоторые каталоги являются внутренними для системы (например, Postgres и Snowflake), другие, такие как Hive и Project Nessie, могут использоваться любыми системами.
Вычислительный движок (Compute Engine)
Последний компонент, необходимый для обработки больших объемов данных, выполняет пользовательские запросы по обработке данных. В зависимости от объема данных и типа нагрузки можно использовать один или несколько вычислительных движков. Для работы с большими объемами данных часто требуется распределенный вычислительный движок (MPP), такие как Apache Spark, Snowflake и Dremio.
PS надеюсь теперь вы поймете разницу между Parquet (file format) и Iceberg/Delta (table format)
Мой самый популярный пост в Linkedin оказался не про айти и аналитику….
Ведь реально получается:
1) Лучшая инвестиция это в семью и детей
2) Пословица про свой самовар самая правильная
3) Там еще добавил бы ликбез про ипотеку
4) Подход я работаю, жена тратит деньги работает отлично, чем больше жена потратила, тем больше я заработал, или наоборот
Конференция для IT-архитекторов от МТС
20 июля | 12:00
Офлайн в Москве | Онлайн
Присоединяйся к конференции для IT-архитекторов True tech Arch#5, которая пройдет 20 июля в парке искусств "Музеон". Тебя ждут доклады от ведущих экспертов МТС и приглашенных экспертов.
Обсудим осмысление архитектурных артефактов, расскажем о голосовых роботах на платформе Exolve, поделимся кейсами, как создать "виртуального" сотрудника.
Событие пройдет на открытом воздухе и ждет всех неравнодушных к IT-архитектуре.
Регистрируйся на конференцию.
Я решил поэкспериментировать с Surfaytics, и поискать дополнительную ценность.
Выявил пока 2 новых направления.
1) я записал своё успешеное собеседование на Sr Data Engineer в Канаде на 200к CAD и скинул видео и вопросы для подписчиков. Планирую дальше записывать и надеюсь студенты тоже будут. Идея в том, что я записываю только себя и свой звук, а вопросу будут текстом на экране.
2) я продолжаю думать про варианты эффективного прохождения собеседования, чтобы максимально эффективно пройти его, на картинке мы экспериментирует с реальным собеседованием и технологиями записи собеседования, аудио в текст и тп.
Получить возможность собеседование очень сложно, большой конкурс, а вот провалить его из-за глупых ошибок легко. Один из вариантов это воспользоваться помощью товарища 🤹
Как отличить хорошего продакта от плохого?
Плохой продакт зациклен на процессах, дейликах, митингах и бумажной волоките. Он игнорирует риски и фокусируется на метриках тщеславия типа MAU, DAU и новых зарегистрированных пользователей.
Хороший продакт фокусируется на реальных результатах. Он понимает, как его работа влияет на весь бизнес, и делает так, чтобы продукты и проекты «выстреливали» и зарабатывали.
Лучший пример — OnlyFans. Основатели не раздували венчурную шарагу, а зарабатывали деньги. Поэтому выручка сервиса за прошлый год составила $2.5 млрд, а прибыль — $1.25 млрд.
Хотите грамотно вести проекты и приносить бизнесу максимальную пользу? Подписывайтесь на канал сооснователя careerspace Ярослава Хромова. Узнайте, как работать с продуктом, метриками и людьми, чтобы зарабатывать больше и расти по карьерной лестнице.
Топ постов:
— Почему «дерево метрик» — слабая концепция и прошлый век?
— Почему в B2B продукты более отсталые, чем в B2C?
— Подборка лучших постов про карьерный рост и бизнес — фактически пошаговый гайд, как зарабатывать больше и расти быстрее.
Это отличный продуктовый канал от настоящего практика. Подпишитесь, чтобы ваша карьера летела вверх: @firstanalyticsguide.
#промо
Мы привыкли, что нужно всегда с рюкзаком ходить, куда складывать ноутбук, наушники и тп. Атрибут Айтишника можно сказать. Помню, как в 2011 заказал себе рюкзак синий Jan sport из Америки, ведь в Москве не оригинал 🍞, и тогда я почувствовал, что вот я настоящий IT.
По пятницам я хожу в офис, и сегодня решил, что хватит таскать тяжелый рюкзак с несколькими 16’’ маками, формой и другим барахлом, и пора на легке катить чемодан.
Реально, game changer!
Я же вам говорил, что CLI знать надо, чтобы вот такие вот шутки понимать😅
Читать полностью…
Не могу не поделиться пример “холодного звонка” или лучше сказать сообщения. Чувак хочет мне продать услуги и вот, что он сделал - https://youtu.be/AvJETIwuYY4?si=zrIEzbNZbgI4ijrJ
Мне кажется, можно вам так вместо Cover Letter делать, вы просто представьте себе, когда recruiter/hiring manager за бокальчиком Апероль Шприц будет слушать ваше сообщение - шах и мат, как говорят! А самое крутое, у вас будет Аналитика - получили ли ваше сообщение или нет. Я так делал до 2015 года, только с презентаций и slideshare, видео явно круче! Ищите hiring manager и отправляйте видосик на 3-4 минут, где вы лазите по сайту, показываете свои достоинства (не то что вы подумали) и тп.
PS Ну как такому добряку я могу отказать проматать несколько тысяч долларов теперь🍿
У моего телеграмм канала @rockyourdata есть кредитная карта🍞
PS вопрос про налогообложение, знаете ли вы в какой стране самый маленький налог если открывать юр лицо?
Я слышал про:
- Дубай 9%
- Грузия 1%
- Тайланд 15%
Возможно еще много вариантов - Мальта, Панама, даже наверно можно в США выбрать штат с самым маленьким налогом.
Ребята, которые давно читают мой канал, попросили информационно поддержать их проект Support Awards.
Думаю, тут многим интересно будет поучаствовать, так как саппорта в data проектах выше крыши😊
А я их попросил сделать для нас вебинар про RAG!
Отвечаю на пару:
1) Как попасть в ФААНГ
2) Пиво или Сидр
Пардон, что без микрофона и наушников, я просто гуляю у офисов Амазона в Сиэтле и ностальгирую с бутылочкой, пока семью пьет «чай с шариками».
Потом еще запишу ответы на другие вопросы.
Всем хороших выходных!
Устроиться аналитиком в Яндекс за выходные
6–9 июля проводим Weekend Offer Analytics. До 3 июля оставьте заявку на участие, 6–8 июля пройдите технические собеседования, а 9 июля познакомьтесь с командами и получите офер.
В мероприятии участвует 9 команд: Crowd, Карты, Поиск, Алиса, R&D, Автономный транспорт, Подразделение аналитики, Антифрод, Антиробот. Вы сможете пообщаться с менеджерами и выбрать проект, который покажется самым интересным.
Нанимаем в офисы России и Республики Беларусь.
Узнать подробности и зарегистрироваться можно здесь.
Работая в больших компаниях часто можно услышать или увидеть как продуктовые менеджеры бегают с CDP (Customer Data Platform)(раньше это была фишка маркетологов). В данном контексте это вендорское решение, например Segment, Amplitude или еще чего.
Customer Data Platform is an all-in-one marketing and data infrastructure. In a nutshell, it’s a database for all your user information with a connected activation layer to help you leverage the data for marketing.
Самое время летом читать про Iceberg, все вендоры уже вдоль и поперек про него рассказали на своих конференциях.
Читать полностью…