Data Engineer
Jak różnią się wymagania dotyczące mocy obliczeniowej przechowywania danych w ETL i ELT?
Wyświetl liczbę zamówień i "produktów z potrzebnej kategorii w zamówieniu" za rok 2021 w kategoriach "Odzież" oraz za rok 2022 w kategorii "Obuwie" (ostateczny widok: 2 wiersze. Pola: rok, liczba produktów, liczba zamówień) 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 = 'Odzież' and Year(o.order_date) = 2021) or (g.cat_1 = 'Obuwie' and Year(o.order_date) = 2022) group by year_orders, g.cat_1 ) select year_orders, count_quan, count_orders from cte na rok 2025, top 3 w każdej kategorii według ilości sprzedaży 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 ) na rok 2025, top 3 w każdej kategorii według sumy sprzedaży model with cte as( select g.cat_1, g.model, (price * quantity), rank() over(partition by g.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 poznaj nazwę kategorii, model i łączną sprzedaż (top 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
Jaki jest algorytm diagnostyczny i co robić, jeśli zapytanie nadal jest wolne po dodaniu kilku indeksów?
Jak zorganizować ładowanie danych do ClickHouse w dużej tabeli PostgreSQL, do której stale trafiają nowe rekordy z monotonnie rosnącym kluczem głównym?
Czym dokładnie udało się zoptymalizować zapytania na Data Vault, jeśli zwykle zwiększa on liczbę joinów?
Czy używałeś XCom w Airflow?
Czy napisałeś procesy ingestion w OpenMetadata, które skanują źródła?
Z jakimi narzędziami wizualizacji pracowałeś i jak blisko współpracowałeś z Power BI?
Co wiesz o serializacji i deserializacji w kontekście Spark/UDF?
Zadanie nr 2 Napisz zapytanie wyświetlające TOP-3 pracowników pod względem wynagrodzenia w każdym dziale. Wyświetl nazwę działu, imię pracownika i jego wynagrodzenie. tabela employee: | id | name | salary | dept_id | |----|-------|--------|---------| | 10 | John | 1000 | 2 | | 20 | Tom | 5000 | 3 | | 30 | Bill | 3000 | 2 | tabela department: | id | name | |----|-----------| | 1 | Marketing | | 2 | IT | | 3 | Finanse | Wynik: department_name, num, employee_name, salary with cte as( select d.name as department_name, e.name as employee_name, e.salary, dense_rank from employee e join department d on e.id = d.id
Co się stanie, jeśli utworzysz DAG z start_date = 1 stycznia 2024 roku?
Jak działa hash join dla tabel zawierających 1000 i 1 000 000 wierszy?
Czy można wymyślić coś innego zamiast zwykłego CTE, biorąc pod uwagę, że filtrowanie nadal odbywa się w pamięci na całej tabeli?
Jakie główne polecenia Linux używasz w terminalu?
Czym jest dziennik transakcji (WAL) w systemie zarządzania bazami danych i do czego służy?
Czy użyto metody porównywania hashy rekordów do obliczenia różnicy między źródłem a tabelą docelową?
Dlaczego szukasz nowej pracy i czym chciałbyś się zająć w przyszłości?
Dlaczego teraz szukasz nowej pracy, chcesz zmienić pracę?
Jakie metody przesyłania danych między zadaniami Airflow znasz?
LeetCode #? — W PostgreSQL jest tabela [tabela] z jedną kolumną id i wartościami 1, 1, 2. Napisz zapytanie DELETE, które fizycznie usunie duplikat.