LEFT JOIN – Telegram
LEFT JOIN
45K subscribers
944 photos
28 videos
6 files
1.2K links
Понятно про анализ данных, технологии, нейросети и, конечно, SQL.

Услуги — leftjoin.ru
Курсы по аналитике — https://stepik.org/users/431992492

Автор — @valiotti
Реклама — @valiotti

Перечень РКН: https://tapthe.link/PpkTHavwS
Download Telegram
Согласен с @kuandi! Мы в Петербурге умеем до 50 таких оттенков серого отличать 😎
Приятные оттенки серого для разнообразия. Серый вообще топ цвет для визуализаций, когда нужно делать фокус на чем-то одном (тогда серым делаете все категории, а какую-то выделяете другим более ярким). Связка серый+синий уже немного классическая, но часто берут самые дефолтные серый и синий, а вот такие оттенки могут сделать виз ещё симпатичнее 🦭
Не все используют GUI при работе с системой контроля версий, и для коммита файлов приходится вводить не одну команду в терминал, а смена веток нередко приводит к путанице.

А у GitHub есть API, который позволяет создавать репозитории, получать информацию о пользователях, отправлять и обновлять файлы и многое другое. В сегодняшнем материале пишем скрипт, который автоматизирует отправку коммитов при помощи запросов к GitHub API:

https://leftjoin.ru/all/github-api/
Лучшие практики использования SQL по версии Metabase.

Некоторые советы действительно ценные. Из того, что реально встречалось на практике особенно выделил бы один, так как в свое время удалось существенно оптимизировать время выполнения запроса:
Prefer EXISTS to IN
If you just need to verify the existence of a value in a table, prefer EXISTS to IN, as the EXISTS process exits as soon as it finds the search value, whereas IN will scan the entire table. IN should be used for finding values in lists.

Metabase довольно интересный инструмент, на одном из проектов используем его, надо бы записать видео в продолжение Гайда по BI.
Если у кого-то есть время и интерес поисследовать Metabase, а также записать видео, пишите мне в DM: @valiotti.
Для работы с SQL-кодом и подключением к разным базам данных я достаточно давно использую DBeaver, это довольно удобный инструмент для работы с большим количеством разнообразных БД, у которого есть Community версия (читай, бесплатная).

И вот наткнулся на CloudBeaver (от создателей, разумеется), который умеет все то же самое через браузер.
Fivetran прислали письмо, в котором рассказывают про свою конференцию Modern Data Stack на ЕMEA, которая состоится 25го мая.
Думал, как это увязать с аналитикой и понял, что, наверное, никак, но и не поделиться не могу 🙂 Если кто-то вдруг заскучал по старому плееру Winamp, поддержка которого прекращена, поностальгируйте и скрасьте свой день с веб-версией Winamp ⚡️⚡️⚡️
Forwarded from DataEng
Продолжаем цикл материалов про работу с веб-фреймворком Dash. Ранее мы рассказывали про развертывание дашбордов на AWS Elastic Beanstalk. Если у вас уже есть виртуальная машина на Amazon EC2, то дашборд можно развернуть как веб-приложение на вашем инстансе. О том, как это сделать, читайте в новом материале на нашем сайте:

https://leftjoin.ru/all/deploy-dashboard-ec2/
Анализа данных с помощью SQL
Достаточно прикольный и полезный гайд по использованию SQL для анализа данных вместо Pandas.
Автор делится рядом любоптных идей: train/test split, линейная регрессия (оказывается, есть по умолчанию в PostgreSQL) и много других полезностей, собранных в одном месте, рекомендую!

Кстати, Mode когда-то тоже предлагали несколько изощренный способ построения регрессии с помощью SQL.

#link
И немножко околокликхаусных новостей:
Altinity рассказывает об использовании Superset на Clickhouse (погдлядел в @superset_ru). Материал в нескольких частях.
Создан профайл для работы с Clickhouse через dbt, ссылка на github (сам нашел).
Еще не тестировали, но очень интересно.
А вот Дмитрий в комментариях пишет о результатах тестирования профайла dbt для Clickhouse.
Тестировали профайл клика для dbt. Сырой, особенно тяжко, если клик on cluster, потому что этот функционал не реализован. Но если клик на одной ноде - всё ок.

Также есть проблемы с тем, что настройки подключения не передать в профайле. Лечится созданием специальной роли по dbt скрипты, чтобы использовались подходящие настройки.

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

В движках, кстати, есть проблема. В конфиге модели указывается просто *MergeTree, без скобок, соответственно без параметров. Мне бывает нужно в ReplacingMergeTree указать таймстемп, особенно если оставить надо не последнюю пришедшую запись.

Резюме краткое: многое лечится кастомными макросами, благо dbt использует те, что в проекте, если находит несколько с одинаковым именем. Но хочется, чтобы адаптер не заглох. Будем контрибьютить, если
Pattern matching в Python

Это весной вышла альфа-версия Python 3.10, в которой, помимо прочего, реализовано структурное сопоставление шаблонов (structural pattern matching).

Раньше как таковой конструкции типа switch/case в Python не существовало. Насущные проблемы решались с помощью конструкции if/elif/else или поиском по словарю. Такие конструкции объемны и затрудняют читабельность кода.

Pattern matching в новой версии Python реализован через конструкцию match/case. Станет ли это панацеей для разработчиков, судить рано. Но как применяется match/case на практике уже можно посмотреть в нашем переводе статьи от InfoWorld.

https://leftjoin.ru/all/pattern-matching-v-python/
Библиотека Clustergram для Python

Интересный пост про библиотеку Clustergram для Python. При построении кластеризации методом K-Means число кластеров заранее неизвестно и традиционный подход предполагает построение так называемого Elbow-chart (да, локоть), который показывает общую внутригрупповую сумму квадратов для разного числа кластеров. Этот график не очень информативен для принятия однозначного решения по поводу числа кластеров.
Предлагаемая библиотека усовершенствует подход к обнаружению числа кластеров: позволяет визуализировать разбиение на кластеры и толщиной линии отображает дополнительную информацию, получаемую от этого разбиения.
Статья про то, как AirBnb добились констистентности метрик. Внутри про используемые решения и про их архитектуру данных.

#link
Рекомендации по использованию PostgreSQL в качестве хранилища данных. Внутри статьи любопытная ссылка на предостережение по использованию CTE в PostgreSQL (все от того же автора, на которого недавно ссылался по SQL для анализа данных)
Часто для ML-моделей нужно подготовить датасет: масштабировать или нормализовать признаки, чтобы получить корректные результаты работы алгоритма. Такого рода подготовку можно провести прямо в процессе выгрузки данных из БД.

В новом материале мы собрали несколько методов для нормализации атрибутов средствами SQL сразу двумя способами: через подзапрос и с помощью оконной функции.

https://leftjoin.ru/all/data-scaling-with-sql/
Georgia Institute of Technology. Online Master of Science in Analytics.

В 2020 году я загорелся желанием освежить свое фундаментальное образование. На рынке сейчас представлено очень много разных курсов, но мне было интересно посмотреть как выглядит изнутри система образования в США. В последние годы, и особенно после начала пандемии COVID-19, онлайн-образование набрало невероятную популярность. Теперь даже топовые американские ВУЗы предлагают получить магистерскую степень онлайн. И я решил пройти этот путь 😎

Несмотря на то, что у меня уже есть наша PhD, я подал заявку на программу OMSA (Online Masters of Science in Analytics) в Georgia Institute of Technology. Ранее я уже приводил ряд ссылок на курсы этого ВУЗа (доступные бесплатно), но сам решил поступать на полноценную магистерскую программу. Меня привлекло то, что Georgia Tech занимает высокие позиции в рейтингах по Computer Science среди американских ВУЗов.

Надо сказать, что процесс поступления занял больше полугода. Нужно было предоставить сертификат TOEFL с высоким баллом (не менее 100 из 120), три рекомендательных письма из своей alma mater, сопроводительное письмо, CV и всю информацию о предыдущем образовании. И в ноябре 2020-го я получил долгожданное письмо о том, что меня приняли (приложил его)! Теперь я принадлежу к коммьюнити с маскотом пчелы 🐝 (Buzz).

Само образование построено в темпе “self-paced”, то есть в семестр можно набрать столько курсов, сколько сможешь унести (но, кажется, не более трех или четырех). На старте с учетом своего графика я взял только один курс — ISYE6501 (Intro Analytics Modeling), который является одним из обязательных и фундаментальных в программе. И вот позавчера получил свою первую оценку B за его прохождение. 🍾

В связи с этим ниже опрос — рассказать ли об этом опыте подробнее? Насколько вам интересен контент об американском образовании? Могу поделиться впечатлениями об этом курсе и о следующих: рассказать насколько учеба интенсивна, а содержание полезно.