Data Engineer
Где можно посмотреть логи задач в Airflow?
Даны две таблицы t1 и t2. Задача выписать все виды джойнов, которые знаешь, и результат запроса select * from t1 <join> t2 on t1.t = t2.t для каждого из них. |t1.t| ------ 1 2 4 null ------ |t2.t| ------ 1 3 null null
Где лучше работает сжатие данных — в колоночном или строчном хранении и почему?
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.date_start > t2.date_start d = { True: 42, 1: 2, 1.0: 100500 } print(d)
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.date_start > t2.date_start
Что такое индексы в базах данных, зачем они нужны и какова их внутренняя структура?
В чём отличие RANK() от DENSE_RANK()?
Как Pandas обрабатывает пропущенные данные?
Сколько дополнительной памяти требует решение со словарём, не считая возвращаемых данных?
Расскажи о своём опыте работы: задачи, стек технологий
Как работали с Impala?
Анализ посещаемости фитнес-клубов Вы работаете аналитиком в сети фитнес-клубов. У вас есть информация о посещениях пользователей и абонементах, которые они покупают. Необходимо проанализировать эффективность использования абонементов. Рассчитайте для каждого типа абонемента: • общее количество пользователей, использовавших этот тип абонемента. Учитывайте только уникальные user_id; • общее количество посещений по этому абонементу. Учитывайте все посещения пользователей с данным абонементом; • долю пользователей этого абонемента в процентах от общего количества всех пользователей (с округлением до одного знака после запятой). Для вычисления доли пользователей используйте отношение количества пользователей с этим абонементом к общему числу всех уникальных пользователей. У каждого пользователя может быть только один абонемент. Отсортируйте результат по типу абонемента в алфавитном порядке. Формат ввода Таблица memberships: • membership_id (int) — уникальный идентификатор абонемента • user_id (int) — уникальный идентификатор пользователя • membership_type (text) — тип абонемента Таблица visits: • visit_id (int) — уникальный идентификатор визита • user_id (int) — идентификатор пользователя • visit_date (timestamp) — дата и время визита Данные не содержат пропусков или некорректных значений. Формат вывода Запрос должен вернуть таблицу с полями в таком порядке: • membership_type (text) — тип абонемента • users_count (int) — количество уникальных пользователей с данным типом абонемента • total_visits (int) — общее количество визитов пользователей с этим абонементом • user_share (numeric) — доля пользователей в процентах с этим абонементом от общего числа (округлена до 1 знака после запятой) Результат сортируется по типу абонемента в алфавитном порядке.
Расскажи, что ты знаешь про колоночное и строчное хранение данных. Когда и какое надо выбирать и почему?
Чем отличается цикл по строке от цикла по tuple в Python? Какие типы являются базовыми и как это влияет на производительность?
Где появляется параллелизм в Airflow?
Как подойти к ситуации, когда бизнес просит отчёт с визуализацией данных по новой акции?
Чем Pandas лучше обычных списков и словарей в Python?
Расскажите о вашем опыте работы с Greenplum, DBT и Data Vault. Почему перешли от модели снежинки к Data Vault?
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Получить топ 10 водителей по кол-ву заказов в каждом городе
Начиная с каких особенностей можно сказать, что хранилище данных нужно?