Data Apps Design – Telegram
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
Long time no see, folks!

Let us investigate super hot app TikTok from the point of Marketing API integration.
There's not much information on this topic available on the net today.

For now I see the steps as follows:

1. Register as a developer and create an App – DONE
2. Get access to any business account (who does promotions/advertising) – DONE
3. Acquire API token – DONE
4. Play with API

Briefly, interesting things one can do via API:

– Reporting API
- Audience management
– Pixel management

That could be promising and demanded integration.

Share what you think about it.
And stay tuned.
Завтра 15 июня в 15.00 проведу вебинар.

Практическое Качество Данных

– Тесты схемы и бизнес-логики
– Актуальность и своевременность данных
– Получение статусов и уведомлений в Slack
– Исправление проблем и Data Fixes

Ссылка на регистрацию: https://otus.ru/lessons/dwh/#event-1340
Ссылка на youtube-трансляцию будет в канале за 5 минут до начала.
Завтра проведу вебинар Configuring Slim CI: легковесные интеграционные тесты для Хранилища Данных

– Кейс: место CI в аналитических приложениях
– Настройка интеграционных тестов для DWH
– Slim CI: оптимизируем и ускоряем

Время: 6 июля в 15:00
Регистрация: https://otus.ru/lessons/dwh/#event-1393
Ссылка на трансляцию будет в канале за 5 минут до начала.
Привет! Сегодня 15 июля в 20.00 приглашаю на вебинар.

Business Intelligence 101: Развертывание и конфигурирование решения

– Варианты деплоя BI-решения: SaaS, Cloud App, Docker
– Конфигурация: безопасность, метаданные, уведомления
– База метаданных и ее миграция
– Общее устройство BI-решения и его возможности

Смотрим на примерах Metabase (Open Source), Looker.

Ссылка на регистрацию: https://otus.ru/lessons/dwh/#event-1394
Ссылка на youtube-трансляцию будет опубликована здесь за 5 минут до начала.
Вебинар Business Intelligence 101: Развертывание и конфигурирование решения

Слайды: https://docs.google.com/presentation/d/1HEMQ4687hOdqZ47Tqumn6jmvPzKiu3H4VA5xF5R12oY/edit?usp=sharing
Запись: https://youtu.be/3agTJjGhwsI?t=405
В условиях постоянно растущей сложности аналитических инструментов и распределенной команды не просто возможно, но и необходимо повышать скорость поставки (T2M) и качество (Quality) выводимого в продуктив функционала. Фокус сегодняшней публикации – внедрение практик интеграционного тестирования с учетом современного аналитического стека.

С практическими примерами и рекомендациями будут рассмотрены следующие аспекты:

– Специфика аналитических приложений и пространство для DevOps практик
– Рецепт для внедрения Continuous Integration шаг за шагом
– Slim CI: оптимизируем и ускоряем процессы

https://habr.com/ru/company/otus/blog/567916/
В среду 28.07 в 14.00 состоится презентация моей программы Analytics Engineer.

4 месяца интенсивного погружения в самые востребованные и актуальные навыки на стыке миров Data Engineering & Data Analytics.

На вебинаре расскажу про потребность на рынке, содержание программы, отвечу на вопросы.

Ссылка на трансляцию будет здесь за 5-10 минут.
MongoDB – одна из самых популярных документ-ориентированных баз данных класса NoSQL с большим сообществом пользователей. Ее основными преимуществами являются гибкость схемы хранения, иерархическая структура документов, поддержка расширенного набора типов данных. Сегодня MongoDB чаще всего используется как бэкенд веб- и мобильных приложений.

Казалось бы, зачем может потребоваться извлекать схему данных в schemaless database? Однако это может быть крайне полезно и в некоторых ситуациях абсолютно необходимо:

• Репликация данных в аналитическое хранилище

• Интерактивная аналитика из BI-инструментов (SQL)

• Аудит имеющейся структуры БД

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

https://habr.com/ru/company/otus/blog/571286/
SQL – это нескучно. С современными инструментами возможности языка кратно возросли. Мультитул для моделирования данных dbt, современные колоночные аналитические СУБД позволяют буквально творить с данными чудеса.

Меня зовут Артемий и я Analytics Engineer в компании Wheely. И сегодня я подготовил небольшой экскурс в реальные и интересные сценарии использования гибридного SQL:

– Операции Pivot и Unpivot для табличных данных
– Генерирование суррогатного ключа и ключа конкатенации
– Гибкая фильтрация записей из таблиц-источников
– Автоматизация экспорта данных из Хранилища в S3
– Валютные курсы, Continuous Integration, Data Quality

https://habr.com/ru/company/otus/blog/572816/
Современные Data Pipelines превратились в commodity наподобие электричества в розетке – они просто должны быть и функционировать, обеспечивая базовые потребности аналитиков и инженеров.

Множество компаний, таких как Fivetran, Hevo, Alooma, сегодня зарабатывают на предоставлении Data Pipelines / Integration как сервис. Наряду с очевидными преимуществами, основными недостатками являются закрытый исходный код и отсутствие возможности быстро добавлять новые коннекторы.

В этой публикации на примере репликации данных открытого счетчика Яндекс.Метрика в объектное хранилище S3 я познакомлю вас с Airbyte – решением с открытым исходным кодом. Это новый стандарт для выстраивания потоков интеграции данных из всевозможных приложений, баз данных и API в аналитические хранилища данных, озера данных.

https://habr.com/ru/company/otus/blog/574704/
Яндекс.Облако не перестает приятно удивлять.
Респект, так держать.

Скоро на канале будут кейсы Маркетинговой аналитики с использованием Я.Облака:
- ELT + Airbyte
- S3 Data Lake (Parquet columnar)
- dbt + Clickhouse
- Dashboarding + Datalens
А вот служба поддержки разочаровывает 🙃
15 дней на ответ совсем не о том.

P.S. пытаюсь поставить clickhouse-jdbc-bridge на управляемую версию CH от Я.Облака, чтобы писать запросы к другим базам из CH. Хитрый замысел.
Подсказка для тех, кто будет подключаться к Managed Yandex.Clickhouse из DBeaver (или любой JDBC):

1. Установить сертификат

mkdir -p ~/.clickhouse-client /usr/local/share/ca-certificates/Yandex && \
wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" -O /usr
/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt && \
wget "https://storage.yandexcloud.net/mdb/clickhouse-client.conf


2. Использовать порт 8443

3. Сконфигурировать ssl в настройках драйвера

ssl : true
sslrootcert : /usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt (путь к сертификату)
socket_timeout : 300000 (5 минут таймаут запроса)


Позже напишу про подключение для dbt
Сижу и где-то час втыкаю, не понимая почему упорно не запускается тест на relationships (foreign keys).
Экспериментировал с наличием и порядком параметров теста, с отступами в yaml 🤨

Особенно будет интересно тем, с кем это смотрели на занятии Data Quality в прошлый четверг - у нас тогда не запустился тест.
Зарекся разобраться – разобрался.

Оказывается всё просто:

Тест relationships затрагивает 2 модели. При запуске тестов только на child, либо только на parent тест не запустится.
А вот при запуске на обе модели - да!

dbt test -m flt_orders_arrays # won't trigger
dbt test -m flt_orders_events # won't trigger
dbt test -m flt_orders_arrays flt_orders_events # triggers!

Описание теста (definition):

    - name: flt_orders_arrays
columns:
- name: request_id
tests:
- dbt_utils.relationships_where:
to: ref('flt_orders_events')
field: request_id
from_condition: get_array_length(events) > 0
Data Apps Design
Сижу и где-то час втыкаю, не понимая почему упорно не запускается тест на relationships (foreign keys). Экспериментировал с наличием и порядком параметров теста, с отступами в yaml 🤨 Особенно будет интересно тем, с кем это смотрели на занятии Data Quality…
В данном конкретном случае я хочу проверить что все те события (заказы) с непустым массивом events (событий в заказе) доезжают в нижележащую модель, в которой происходит парсинг этого массива (каждое событие становится отдельной строкой с атрибутами).

Потому что именно сегодня словили грабли с пустыми массивами событий на проде.
Общаюсь с ребятами из Amazon - обратил внимание на ряд проблем.

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

Напишу сюда, как получу ответ.
Также есть еще один баг, связанный с MATERIALIZED VIEW. Подробности будут позже.