Data Apps Design
1.54K subscribers
143 photos
2 videos
41 files
231 links
В этом блоге я публикую свои выводы и мнения на работу в Data:

— Data Integration
— Database engines
— Data Modeling
— Business Intelligence
— Semantic Layer
— DataOps and DevOps
— Orchestrating jobs & DAGs
— Business Impact and Value
Download Telegram
🆕 ОБНОВЛЕНИЯ ЗА Q2-Q3 2024

ПЛАНЫ

Kubernetes Orchestration для сервисов и приложений
Snowflake Dynamic tables для ускорения поставки данных в витрины и BI
dbt code base refactoring: Optimize performance, Incorporate latest features, Enhance CI checks
Snowflake SSO (Google) + Network restrictions
Prefect / Dagster для Data Integration Pipelines (API Yandex.Metrika / Yandex.Direct)
Alternative BI tools : Sigma, Thoughtspot, Superset

Обучающие сессии и запуски курсов

— Designing Modern Data Apps
— Хардкорный курс по интеграции данных (фокус на Kafka, Debezium, real time streaming)

Consulting + решения для бизнесов

— Аналитическая инфраструктура: развертывание в облако, управление, мониторинг, обновления
— Интеграция данных
— Аналитическая СУБД
— Инструменты визуализации, экспериментов, ML
— Цифровизация бизнеса: ключевые метрики, паттерны и инициативы доступны владельцам и менеджменту

💬 Если есть подказки, вопросы или хочется узнать о чем-то подробнее - дайте знать в комментариях.

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔹 TEMPLATED QUERY TO DWH FROM BI или ужасный недостаток Superset

Чего хочу добиться:

— Есть витрина фактов: поездки / заказы, которые привязаны к карте (ГЕО)
— Хочу подсчитать метрику в привязке к точке (в радиусе) или зоне (GeoJSON, etc.) на карте
— Динамику метрики отследить за периоды времени
— Предоставить пользователям возможность интерактивно выбирать: точку на карте, радиус, временной период

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

Прототип запроса:

SELECT 
order_id
, create_ts
, order_value
FROM analytics.f_orders AS o
WHERE TRUE
AND create_ts >= {{ time_filter.from_expr }}
AND create_ts < {{ time_filter.to_expr }}
AND status IN {{ filter_values('status') | where_in }}
AND greatCircleDistance(lon, lat, {{ longitude }}, {{ latitude }}) <= {{ radius }}
;


Пробую сделать это в Apache Superset

Прочел SQL Templating, просмотрел Preset Live Demo - Jinja Templating

— Вношу изменения в конфиг Superset: ENABLE_TEMPLATE_PROCESSING: true, перезапускаю контейнеры. Без этого вообще дальше что-то пробовать бессмысленно
— Пишу запрос в SQL Lab. Вписываю Jinja. Запрос отработает только если вписать дефолтные значения в меню Parameters
— Пытаюсь сохранить Virtual Dataset - получаю ошибку. Ок, иду на хитрость. Сохраняю без параметров. И далее редактирую в меню Edit Dataset
— И здесь опять вписываю дефолтные значения параметров, чтобы можно было создать Chart
— Пробую нанести Chart на Dashboard и использовать фильтры. Успеха нет. К сожалению, здесь мое терпение кончилось

☹️😑 Очень много шагов, много ошибок и действий к их устранению. Я оставляю эту идею.

Эта же задача решается крайне легко в Metabase - SQL parameters

Причем с продвинутым функционалом, документацией и примерами.

— Setting (Optional) SQL parameters
— Add a parameter to the URL and load the page.
— SQL variable types: Text, Number, Date, etc.
— Setting Default values

Вывод: В Superset это сделать Almost Impossible, в Metabase - крайне легко.

В тему сравнения плюсов и минусов и критериев выбора инструмента для BI-аналитики.

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤔411
❄️ Snowflake will require Multi-Factor Authentication and Stronger Password Policies by default

— Наконец-то получил письмо с уведомлением от Snowflake
— До этого неоднократно писал в поддержку и Sales rep в призыве к этому
— Ранее нашел способ включить политику MFA принудительно (ниже)
— В качестве MFA используется только DUO APP (from Cisco), Google Auth нельзя

🩷 Мой подход:

---------------------------
-- AUTHENTICATION POLICY --
---------------------------

CREATE AUTHENTICATION POLICY IF NOT EXISTS AUTHENTICATION_POLICY_REQUIRE_2FA
AUTHENTICATION_METHODS = ('ALL')
MFA_AUTHENTICATION_METHODS = ('PASSWORD', 'SAML')
MFA_ENROLLMENT = REQUIRED
CLIENT_TYPES = ('ALL')
SECURITY_INTEGRATIONS = ('ALL')
COMMENT = 'Enforce 2FA with DUO APP'
;

CREATE AUTHENTICATION POLICY IF NOT EXISTS AUTHENTICATION_POLICY_NONUSER_LOGIN
AUTHENTICATION_METHODS = ('PASSWORD', 'KEYPAIR')
CLIENT_TYPES = ('DRIVERS')
COMMENT = 'Non-user logins are only allowed to authenticate through drivers via password or keypair'
;

ALTER USER A_KOZYR SET AUTHENTICATION POLICY AUTHENTICATION_POLICY_REQUIRE_2FA ;

ALTER USER KAFKA_CONNECTOR SET AUTHENTICATION POLICY AUTHENTICATION_POLICY_NONUSER_LOGIN ;


🔵 Самые важные отрывки из письма:

What you need to know:

This new MFA policy only applies to Snowflake users with the TYPE=PERSON or unset type (i.e., human users) that use a Snowflake built-in password to login. Please see the documentation for more information on user types and see the Timeline and Implementation below for additional details on how these policies will be applied.

For users created after a new account is bootstrapped

Make sure to mark the TYPE for all users
For human users TYPE=PERSON, follow the DUO enrollment process and start using MFA
For service users TYPE=SERVICE, make sure to either: 1) use external OAuth (preferred), or 2) use key pair authentication combined with network policy.
If a service user cannot leverage a key pair, mark them as TYPE= LEGACY_SERVICE. This is a temporary solution and we highly recommend that you fix your deployment based on the above.


Считаю, что MFA должен быть включен по дефолту при работе с а) любыми активами в виде данных и б) при работе с облаками.

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Data Engineering in the AI Era: Building a Robust Foundation for AI Applications

Хочу выступить с таким докладом в Сербии на datasciconference.com


Data is the foundational layer for any AI application. In this talk, we will explore Wheely's evolution in building robust data pipelines and employing advanced data modeling techniques:

— Enabling Data Streaming: Transitioning to near real-time and event-driven applications using Debezium and Snowplow.

— Reducing third-party vendor dependencies by leveraging open-source software, resulting in annual savings of $20K.

— Achieving full control over data flow and transformations using dbt and Kafka SMT.

— Optimizing compute and storage costs with Snowflake, achieving a 30% reduction compared to Amazon Redshift.

— Ensuring complete data ownership with zero processing outside the company perimeter.

— Securing data access through RBAC, data masking policies, and PII handling.

This talk distills key knowledge, revealing multiple challenges and pitfalls, and provides practical insights for building a solid data foundation for AI applications.


Заявку подал. До конференции остался месяц.

Если не там, то выступлю где-то еще 🙂

💬 Какие еще ИТ-конференции знаете и рекомендуете?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6
Data Streaming Troubleshooting: Kafka Connect / Debezium / Array Encoding / GeoJSON / Dead Letter Queue / Incremental snapshots

Приготовьтесь, потому что это будет сложно, но мне необходимо поделиться с вами этим 🙂


🟢 Контекст (дано):

— MongoDB как источник (полуструктурированные данные с гибкой схемой)

— Debezium as Source Connector для репликации лога в Kafka

MongoDB New Document State Extraction SMT для преобразования сообщений Debezium и загрузки их в DWH

— Конфигурация array.encoding=document для репликации массивов

Dead Letter Queue (DLQ) для сбора сообщений с ошибками репликации

— Geo Data: коллекция в MongoDB содежащая георгафические зоны в формате GeoJSON


🔴 Проблематика:

— Специфика Array encoding для MongoDB

By default, the event flattening SMT converts MongoDB arrays into arrays that are compatible with Apache Kafka Connect, or Apache Avro schemas. While MongoDB arrays can contain multiple types of elements, all elements in a Kafka array must be of the same type.


— Но без конфигурации array.encoding=document было бы пропущено по оценкам 50-60% всех реплицируемых данных (недопустимо!)

— Чтобы прочесть валидный GeoJSON в СУБД TRY_TO_GEOGRAPHY(geojson) (в тип GEOGRPAHY) мне нужно реплицировать именно массивы!

— Однако и в этом случае теряется несколько записей. Из DLQ я вижу, что это за строки и описание причины:

Field coordinates of schema kafka_mongodbt_connector__geo_zones.geometry.features.geometry is not a homogenous array.
Check option 'struct' of parameter 'array.encoding'



🔵 Решение:

— С помощью Kafka Connect predicates устанавливаем array.encoding=array для избранных коллекций; Для всех остальных коллекций - array.encoding=document

— Анализируем проблемные записи в Dead Letter Queue. Выясняется, что GeoJSON содержит дополнительный ключ features, в котором дублируются координаты из 3-х чисел, 2 из которых float, а третье всегда 0. И с вероятностью 99% это вызывает ошибку. Необходимо либо проставить 0.0, либо вообще убрать ключ geometry.features из репликации.

— Исключаем nested field из репликации на уровне Source Connector: "field.exclude.list": "db.geo.geometry.features"

— Обновляем конфиг работающего коннектора через REST API: jq .config ${SOURCE__MONGODB} | http PUT ${SOURCE__MONGODB}/config

— Инициируем Incremental Snapshot для коллекции с geo через signalling kafka topic

Вуаля! Все записи доступны. Все GeoJson атрибуты корректны.


🟤 Ключевые выводы:

— Допустимо использовать различные варианты конфига array.encoding (document / array) для разных таблиц (коллекций) БД с помощью Kafka Connect predicates

— Без топика Dead Letter Queue (доступен только для Sink Connectors!) не узнал бы об ошибках репликации и их причинах

— Dead Letter Queue удобно просматривать там же в DWH (SELECT * FROM DLQ), настраивать тесты и уведомления (поэтому для DLQ нужен отдельный Sink Connector!)

— Фича Incremental Snapshot помогает прочесть и реплицировать данные по запросу (не останавливая streaming - чтение лога БД / OpLog!)


💬 Задавайте вопросы / оставляйте комментарии.

Кстати, есть тут те, кто тоже хочет real time data streaming? Для целей аналитики, ML, Anti-fraud или прочего оперативного реагирования?


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6💯4
🆕 dbt Power User VS Code Extension + devcontainer

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


🟡 Контекст:

— Я использую devcontainer для каждого отдельного проекта
— В сборку такого контейнера включены необходимые утилиты определенных версий (dbt, adapter for clickhouse/snowflake/redshift, aws cli, obsutils, jq, kcat и т.д.) и их конфигурация (initialization, secrets, etc.)
— Также в контейнер можно включить VS Code Extensions + Common utilities
— Такой контейнер можно запустить локально на своем компьютере и в облаке (это называется Codespaces)
— По сути это похоже на Python virtual envs, только мы не ограничиваемся сугубо Python

Как результат - у всех членов команды одна и та же полноценная среда разработки со всем необходимым инструментарием буквально по одному щелчку мышки. Читайте: никаких проблем с установкой пакетов на разных OS, версиями Python, dependency hell и т.д.

На практике это означает, что, например, Product Analyst или Data Scientist, которого вы наняли вчера, уже сегодня откроет полноценную среду разработки и начнет приносить пользу и создавать ценность.


🩷 Проблема:

— У одного из членов команды проблема с работой dbt Power User Extension
An error occured while initializing the dbt project: No module named 'agate'
— Суть проблемы сводится к тому, что Extension считает, что dbt не установлен (не найден)


🔵 Решение (скрины будут в комментариях):

— Запуск диагностики: Run diagnostics
— Внимательно изучаю вывод в своем окружении и у человека, который испытывает затруднения
— Суть в том, что у нас отличается Python paths
— Setup Extension: Select Python Interpreter
— Вуаля! Проблема решена. Extension работает корректно


🟤 А зачем всё это?

Теперь несколько слов о самом dbt Power User Extension. Самые востребованные лично для меня возможности:

— Ориентация по DAG: parent / children nodes / model tests and docs
— Горячие клавиши почти на все действия dbt. В основном я пользуюсь для просмотра compiled / run кода и отладки
— Автогенерация .yml-файлов (sources, models, columns, tests)
— Просмотр документации проекта + Lineage

О других возможностях узнать подробнее можно в оф. документации: https://docs.myaltimate.com/setup/installation/


💬 Задавайте вопросы, если есть.

Happy modeling ☺️

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥42
Data Engineering in the AI Era: Building a Robust Foundation for AI Applications

Готовлю доклад на Data Science Conference Europe.

Поехать лично, к сожалению, не получилось. Но нашелся слот для онлайн-выступления.

Data is the foundational layer for any AI application. In this talk, we will explore ways of building robust data pipelines and employing advanced data modeling techniques:

— Enabling Data Streaming: Transitioning to near real-time and event-driven applications using Debezium and Snowplow.
— Reducing third-party vendor dependencies by leveraging open-source software, resulting in annual savings of $20K.
— Achieving full control over data flow and transformations using dbt and Kafka SMT.
— Optimizing compute and storage costs with Snowflake, achieving a 30% reduction compared to Amazon Redshift.
— Ensuring complete data ownership with zero processing outside the company perimeter.
— Securing data access through RBAC, data masking policies, and PII handling.

This talk distills key knowledge, revealing multiple challenges and pitfalls, and provides practical insights for building a solid data foundation for AI applications.



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

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2414👍7🙏2
Осенний бигдатник от SQL Ninja 30 Ноября (совсем скоро)

Еще недавно я выступал на апрельском бигдатнике:

SQL + dbt = God Mode Data Modeling / Подходы к созданию витрины корпоративных метрик

Много работал за последние месяцы с Kafka, Debezium, real-time streaming, поэтому меня в особенности заинтересовали доклады:

— Введение в потоковую обработку данных с примерами на Apache Flink
— Streamhouse Architecture - единообразный способ работы с пакетными и потоковыми данными
— Опыт эксплуатации Apache Iceberg на петабайтных таблицах. Проблемы и решения
— Debezium — инструмент получения данных с источников, используя паттерн CDC

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

Но рекомендую посетить меропритие offline и завести новые знакомства и контакты.

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103👍1
Data Apps Design
Data Engineering in the AI Era: Building a Robust Foundation for AI Applications Готовлю доклад на Data Science Conference Europe. Поехать лично, к сожалению, не получилось. Но нашелся слот для онлайн-выступления. Data is the foundational layer for any…
Data Engineering in the AI Era: Building a Robust Foundation for AI Applications

Слайды доклада: https://drive.google.com/file/d/1U3vm2jZlz9GHlM0dsRhmUwZQzM9rgS8k/view?usp=sharing

Запись на YouTube скоро будет 🔸

Основные секции доклада:

🟡 BUSINESS DELIVERABLES AND OUTCOMES

🔵 DATA INGESTION

🟢 DATA TRANSFORMATION

🟤 DATA OPERATIONS


Следующими сообщениями опубликую ключевые идеи доклада


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
Artemiy Kozyr
🟡 BUSINESS DELIVERABLES AND OUTCOMES
🟡 BUSINESS DELIVERABLES AND OUTCOMES

When it comes to AI, the most important things are:

📈 Opportunities you can identify (competitive advantages)
🛠 The way you can do it (technical capabilities)
⏱️ How fast you can ship it (time to market)

Start with business deliverables and outcomes:

📊 Summarizing data on dashboards to report key metrics and their dynamics.
🤖 Leveraging AI to query DWH data through BI tools using natural language.
🔍 Identifying potential PII and notifying for action to ensure compliance.
📧 Tailoring communications via CRM platforms based on customer attributes.
🎯 Next best offer or recommendation systems for customers.
🕒 Creating smart queues and fair order distribution to improve utilization.
🚨 Detecting fraudulent orders and transactions at an early stage (near real-time).

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
Data Apps Design pinned « Data Engineering in the AI Era: Building a Robust Foundation for AI Applications Слайды доклада: https://drive.google.com/file/d/1U3vm2jZlz9GHlM0dsRhmUwZQzM9rgS8k/view?usp=sharing Запись на YouTube скоро будет 🔸 Основные секции доклада: 🟡 BUSINESS DELIVERABLES…»
Artemiy Kozyr
🔵 DATA INGESTION
🔵 DATA INGESTION

There are several types of data sources:

🗄 Databases
📈 Events (Clickstream)
🌐 3rd party APIs
📄 Files


CDC SYNC FOR DATABASES WITH DEBEZIUM

💡 Debezium is an open-source distributed platform for change data capture (CDC)

⏱️ Real-time data streaming
🗃 Support for various databases
⚙️ Fault-tolerant and scalable architecture
📜 Schema evolution handling
🔗 Integration with Apache Kafka


Setup hints for Debezium source connectors

⚙️ Leverage distributed and parallel sync mode
🎯 Only sync relevant data
🛠 Configure topics auto-create feature
🚫 Do not trigger initial snapshots on production databases
🔔 Enable signaling (very powerful feature)
🔄 Configure retries in case of (transient) errors
📝 Tolerate errors but capture/log them


Setup hints for sink connector (Snowflake)

🏷 Ensure a consistent naming convention for topics
⚙️ Adjust settings for optimal performance
🆕 New record state extraction for Debezium messages
📝 Include relevant metadata fields
📐 Apply schematization
🗃 Ensure arrays are handled correctly to avoid data issues
🎛 Use Single Message Transforms (SMT) selectively
📨 Configure a dead letter queue to capture and debug errors effectively


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Artemiy Kozyr
Data Engineering in the AI Era: Building a Robust Foundation for AI Applications Слайды доклада: https://drive.google.com/file/d/1U3vm2jZlz9GHlM0dsRhmUwZQzM9rgS8k/view?usp=sharing Запись на YouTube скоро будет 🔸 Основные секции доклада: 🟡 BUSINESS DELIVERABLES…
🔵 DATA INGESTION

DATA INGESTION: EVENT TRACKING

📊 I have chosen Snowplow for event tracking

— Real-time event tracking: Capture and process events in real-time.
— Customizable event schema: Define custom event schemas to fit your specific needs.
— Cross-platform tracking: Track events across web, mobile, and server-side applications.
— Scalability: Handle large volumes of data efficiently.
— Open-source: The core technology is open-source, allowing for customization and flexibility.
— Data ownership: Full control and ownership of your data.
— Integration: Integrates with various data warehouses and analytics tools.
— Data enrichment: Enrich raw event data with additional context.
— Alternatively: Jitsu, Rudderstack

Setup hints for Snowplow event tracking

🎯 Only track relevant information
📚 Use schema registry (Iglu or Static)
⚖️ Handle both GOOD and BAD event streams
🏷 Assign App & Tracker information
🐞 Use Snowplow Micro for debugging purposes
🚨 Set up Monitoring and Alerting


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Artemiy Kozyr
🟢 DATA TRANSFORMATION
🟢 DATA TRANSFORMATION

How to choose a Data Platform? 🤔

📈 Focus on the business needs
🛠 Name issues you currently face with
📋 Define a list of criteria to compare
🧪 Run series of PoC with the short-list
Make a decision
🔄 Perform a transition
📊 Measure success


What to consider? List of criteria

🚀 Performance and Scalability
🛠 Feature support
🔒 Security
🛠 Maintenance and Administration
🔗 Integrations and Ecosystem
💰 Pricing model


I use dbt for Data Modeling and it rocks! 🎸


🔄 Modularity: reusable SQL queries
🗂 Version Control: integrates with Git
Testing: built-in data quality tests
📄 Documentation: auto-generates model docs
📊 Data Lineage: tracks data flow
Scheduling: runs at specific intervals
🔗 Integration: works with Snowflake, BigQuery, Redshift, etc.
📝 SQL-based Transformations: accessible to SQL users
🌐 Environment Management: supports dev, staging, prod
🔌 Extensibility: extend with macros and plugins


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Artemiy Kozyr
🟤 DATA OPERATIONS
🟤 DATA OPERATIONS

🛠 Configure reproducible devcontainers

🛡 Isolation: Each project has its own environment, avoiding conflicts.
🔄 Consistency: Ensures the same setup across different machines.
🛠 Pre-configured Tools: Comes with necessary tools and dependencies.
📜 Version Control: Environment configuration can be versioned with the project.
🌍 Portability: Easily shareable and portable across different systems.
🎨 Customization: Fully customizable to fit specific project needs.
🔗 Integration: Works seamlessly with VS Code for a smooth development experience.


📡 Signals provide a way to control and interact with Debezium connectors

⏸️ Pause/Resume: Temporarily halt and restart connectors.
📸 Snapshot Control: Start, stop, or restart snapshots.
🔄 Offset Management: Reset or adjust offsets for connectors.
⚙️ Configuration Changes: Dynamically update connector configurations.
📊 Monitoring: Track and manage connector status and health.
🛠 Custom Actions: Define and trigger custom actions for connectors.


🗂 Deduplicating log entries with dbt macro

🔄 Configure CI / CD pipelines

📢 Configure Slack / Telegram alerts


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Artemiy Kozyr
Основные секции доклада:

🟡 BUSINESS DELIVERABLES AND OUTCOMES

🔵 DATA INGESTION

🟢 DATA TRANSFORMATION

🟤 DATA OPERATIONS
RESULTS: Solid foundation for AI applications


DATA INGESTION
⏱️ Near real-time and event-driven applications using Debezium and Snowplow.
🌐 Events supported and tracked amongst web and mobile applications
🔗 Third-party vendor dependencies reduced


DATA TRANSFORMATION
🛠 Achieving full control over data flow and transformations
Real-time to <1h data availability for most important data marts
📄 Self-documenting code, full scope of metadata available
🔒 Ensuring complete data ownership


DATA OPERATIONS
🛠 Easy and maintainable Data Operations on demand
🔄 Scripting repeating actions
🖥 Using pre-built devcontainers


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Друзья, мы решили порадовать вас и подготовили небольшой сюрприз! ❄️

В честь Нового года мы вместе с админами дружественных каналов и групп разыгрываем подарки:

• Умная колонка SberBoom Mini
• Подарочный сертификат на 3000 рублей на покупки в издательском доме Питер (включая бестселлеры O'Reilly, печатные и электронные издания)
• USB-лампа для монитора

Для участия в розыгрыше нужно:

1️⃣ Подписаться на каналы:

СБЕР IT Сочи — канал про жизнь самого большого IT-офиса на берегу Чёрного моря

IT Сообщество Сочи — комьюнити людей из всех направлений IT индустрии, которые живут или хотят переехать в Сочи

Data Apps Design — канал, с концентрированной информацией о Data. Препарированный контент, опыт, практика и выводы

2️⃣ Нажать кнопку «Участвую!» под этим постом

🎲 Итоги розыгрыша:

Бот-рандомайзер выберет 3 победителей 10 января в 18:00. Результаты будут в апдейте этого поста, с победителями свяжемся лично ✌🏼

Всем удачи! 🔥

Участников: 321
Призовых мест: 3
Дата розыгрыша: 18:00, 10.01.2025 MSK (завершён)

Победители розыгрыша:
1. -DeMaN- - 280gi5
2. Ярослав Рубе - 22levc
3. Summer Madness - 280ghv
🔥4👍1🥴1
GiveShareBot - бот для розыгрышей
Друзья, мы решили порадовать вас и подготовили небольшой сюрприз! ❄️ В честь Нового года мы вместе с админами дружественных каналов и групп разыгрываем подарки: • Умная колонка SberBoom Mini • Подарочный сертификат на 3000 рублей на покупки в издательском…
💠 Салют! Розыгрыш не скам ☺️ Классная возможность поднять себе настоение на Новый Год!

Познакомился с толковыми ребятами из хаба СБЕР IT Сочи, а затем сделали такую коллаборацию.

От меня в рамках розыгрыша будет такой приз:

💸 Подарочный сертификат на 3000 рублей на покупки в издательском доме Питер (включая бестселлеры O'Reilly, печатные и электронные издания)


Сегодня я бы выбрал эти книги:

Разработка приложений на базе GPT-4 и ChatGPT. 2-е изд.
Продакт-менеджмент на практике
— (у меня есть, но это must have!) Высоконагруженные приложения. Программирование, масштабирование, поддержка изд. 2025
Apache Kafka. Потоковая обработка и анализ данных, 2-е издание
Искусственный интеллект и компьютерное зрение. Реальные проекты на Python, Keras и TensorFlow

Участвуйте и выигрывайте!


А сам выступлю в феврале на оффлайн митапе с темой:

🟡 Рецепт приготовления Debezium + Kafka для near real time analytics

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥127
📼 Semantic Layer demystified - всё что вы хотели знать о Семантическом слое

Удалось договориться с лидерами/инфлюенсерами в отрасли и в январе планирую выпустить подкаст с участием:

Даня Чепенкоsynmetrix.org; автор Tg semanticlayer
Иван Фокеев – founding team Statsbot / Cube.dev; ex-Narrative BI; автор synmetrix.org


🟢 Обсудим:

— Истоки Cube.dev, история становления
— Аналитические потребности компаний
— Эволюция работы с метриками. Почему вообще возникает проблема которую решает семантический слой
— Тренды в аналитике и BI
— Семантическая модель и BI
— Разница между семантическим слоем и дата-каталогом. Что, нужно в какой последовательности
— Семантичская модель и GenAI / LLM


🔵 В подкаст попробуем добавить:

— Live demo, демонстрация интересных фичей и возможностей
— Кейсы и опыт различных компаний
— Интерактив: вопрос - мнения - дискуссия


🔻 У каждого есть возможность в комментах к этому посту проявить интерес и задать вопросы, которые будем обсуждать.

🔥 Уверен, подкаст получится огонь!

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4🎉2
🎄 Друзья, всем привет. Итоги 2024 и энтузиазм 2025.

2024 in a Nutshell:
— Осуществил миграцию Redshift to Snowflake
— Стал широко использовать Kafka + Debezium для Data Streaming
— Разработал подход к формированию витрины корпоративных метрик
— Сделал уверенные шаги в сторону использования Cube.dev для Semantic Layer
— Выпустил несколько первых видео на Youtube channel
— Несколько раз выступал на конференциях и делал различные доклады

В 2025 планирую:
— Повысить активность и структурированность постов, идей и мнений
— Сделать 2-4 запуска курсов: Desgining Modern Data Apps; Data Integration with Kafka
— Оформить, описать и предложить своё видение платформы данных на основе лучших в отрасли решений
— Начать формировать команду лидеров, способных трансформировать рынок и реалии
— Прикоснуться к новому и ранее мной неизведанному: Kubernetes, Advanced ML, LLM


Моё пожелание для вас: занимайтесь интересным, мотивирущим и увлекательным делом и любите его.
Создавайте, созидайте, рассказывайте, делитесь, ищите и находите единомышленников. Вместе мы создаем что-то новое, красивое и захватывающее.


🎄 С Новым Годом!
☃️ Всех благ и новой мотивации.

Ушел на салатики, Артемий 😏


🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20🥰8🙏521