Sobes.tech

Data Engineer

Виды JOIN и их различия

Middle
RedLab
2

Какие стратегии распределения (дистрибуции) данных существуют?

Middle
ООО Лоция
2

Как в Python правильно открывать и закрывать файлы с помощью контекстного менеджера?

Middle
ООО Лоция
2

По каким полям происходило объединение данных и как в витрине избавлялись от дубликатов?

Middle
АНО ЦИСМ
2

Какие есть виды партиций?

Middle
ООО Лоция
2

Что такое декораторы в Python?

Middle
ООО Лоция
2

Что физически происходит при INSERT, UPDATE и DELETE в Greenplum; почему после DELETE место на диске не освобождается и чем DELETE отличается от TRUNCATE?

Middle
ООО Лоция
2

Есть большая PostgreSQL-таблица, в которую постоянно приходят новые записи с монотонно растущим первичным ключом. Как организовать загрузку данных в ClickHouse?

Middle
АНО ЦИСМ
2

Как вы работали с файлами при повторном запуске DAG после его падения, чтобы не перезаписать данные в S3 неполными данными?

Middle
ООО Лоция
2

В Greenplum с какими проблемами вы сталкивались в работе с ним?

Middle
ООО Лоция
2

Чем list comprehension отличается от обычного цикла в Python?

Middle
НЛМК
2

Как обычно обрабатывал ошибки и алерты в пайплайнах?

Middle
ОстровокОстровок
2

Почему вы решили вынести ранжирование в отдельную CTE? Почему нельзя было использовать его сразу в первой CTE?

Middle
Объединённая компания Wildberries и Russ
0

1. Orders: - order_date datetime NOT NULL - user_id int NOT NULL - order_id int NOT NULL 2. Goods: - order_id int NOT NULL - model int NOT NULL - cat_1 varchar(50) NOT NULL - price int NOT NULL - quantity int NOT NULL Значения в cat_1: - Одежда - Обувь - Косметика - Товары для дома - Игрушки Вывести количество заказов и "товаров нужной категории в заказе" за 2021 год в категориях «Одежда» и за 2022 год в категории «Обувь» (итоговый вид: 2 строки. Поля: год, количество товаров, количество заказов) with cte as( select year(o.order_date) as year_orders, g.cat_1, count(distinct o.order_id) as count_orders, sum(g.quantity) as count_quan from Orders o join Goods g on o.order_id = g.order_id where g.cat_1 = 'Одежда' and Year(o.order_date) = 2021 or g.cat_1 = 'Обувь' and Year(o.order_date) = 2022 group by year_orders, g.cat_1 ) select year_orders, count_quan, count_orders from cte

Middle
Объединённая компания Wildberries и Russ
0

Вывести количество заказов и "товаров нужной категории в заказе" за 2021 год в категориях «Одежда» и за 2022 год в категории «Обувь» (итоговый вид: 2 строки. Поля: год, количество товаров, количество заказов) with cte as( select year(o.order_date) as year_orders, g.cat_1, count(distinct o.order_id) as count_orders, sum(g.quantity) as count_quan from Orders o join Goods g on o.order_id = g.order_id where (g.cat_1 = 'Одежда' and Year(o.order_date) = 2021) or (g.cat_1 = 'Обувь' and Year(o.order_date) = 2022) group by year_orders, g.cat_1 ) select year_orders, count_quan, count_orders from cte за 2025 год топ-3 в каждой категории по количеству продаж model with cte as( select cat_1, price, quantity, model, rank() over(partition by cat_1) as rk from Orders o join Goods g on o.order_id = g.order_id where Year(o.order_date) = 2025 ) за 2025 год топ-3 в каждой категории по сумме продаж model with cte as( select g.cat_1, g.model, (price * quantity), rank() over(partition by cat_1) as rk from Orders o join Goods g on o.order_id = g.order_id where Year(o.order_date) = 2025 ) with cte as( select g.cat_1, g.model, sum(price * quantity) as sum_, rank() over(partition by g.cat_1 order by sum() desc) as rk from Orders o join Goods g on o.order_id = g.order_id where Year(o.order_date) = 2025 ) with cte1 as( select g.cat_1, g.model, sum(price * quantity) as sum_total, from Orders o join Goods g on o.order_id = g.order_id where Year(o.order_date) = 2025 ), cte2 as(select g.cat_1, g.model, sum_total, rank() over(partition by g.cat_1 order sum_total desc) as rk from cte1 ) select g.cat_1, g.model, sum_total from cte2 where rk <=3 with cte1 as( select g.cat_1 as cat_name, g.model as model, sum(price * quantity) as sum_total, from Orders o join Goods g on o.order_id = g.order_id where Year(o.order_date) = 2025 group by Year(o.order_date), g.model ), cte2 as(select cat_name, model, sum_total, rank() over(partition by cat_name order sum_total desc) as rk from cte1 ) select cat_name, model, sum_total from cte2 where rk <=3

Middle
Объединённая компания Wildberries и Russ
0
/32