Data Engineer
Opowiedz o wykorzystaniu procedur PL/SQL w swojej pracy.
Mamy tabelę klientów (id, imię, adres itp.), produktów (id, nazwa itp.), ruchu towarów (tutaj mamy id klienta, towaru, data, ilość, suma), musimy znaleźć, które towary sprzedano 1 stycznia, tylko unikalne, a także wyświetlić imię kupującego i...
Jakie rodzaje kluczy/strategii dystrybucji istnieją w Greenplum?
Analiza sprzedaży według kategorii produktów w sklepie detalicznym Pracujesz jako analityk w sklepie detalicznym. Twoim zadaniem jest przygotowanie raportu sprzedaży według kategorii z następującymi obliczeniami: • łączna liczba sprzedanych jednostek w kategorii (total_units_sold); • łączny przychód według kategorii, uwzględniając rabaty, gdzie rabat oblicza się jako unit_price × units_sold × (1 − discount/100). Jeśli rabat jest NULL, przyjmujemy 0%. Zaokrąglić do dwóch miejsc po przecinku; • średnia liczba sprzedanych jednostek na jedną sprzedaż (avg_units_per_sale), zaokrąglona do dwóch miejsc po przecinku; • udział sprzedaży bez rabatu (no_discount_share) — liczba sprzedaży z NULL lub 0% rabatem, podzielona przez łączną liczbę sprzedaży w kategorii, zaokrąglona do trzech miejsc po przecinku. Posortuj najpierw według łącznych przychodów (total_revenue) malejąco, potem według średniej liczby jednostek na sprzedaż (avg_units_per_sale) rosnąco, a na końcu według nazwy kategorii alfabetycznie. Format wejścia Tabela sales: • sale_id (int) — unikalny identyfikator sprzedaży • product_id (int) — identyfikator produktu • category (text) — kategoria produktu • sale_date (timestamp) — data i czas sprzedaży • units_sold (int) — sprzedane jednostki • unit_price (numeric) — cena za jednostkę • discount (numeric) — rabat w procentach, może być NULL Kolumna discount może zawierać wartości NULL. Format wyjścia Zapytanie powinno zwrócić tabelę z polami w takiej kolejności: • category (text) — kategoria produktu • total_units_sold (int) — łączna liczba sprzedanych jednostek w danej kategorii • total_revenue (numeric) — łączny przychód w kategorii, zaokrąglony do dwóch miejsc po przecinku • avg_units_per_sale (numeric) — średnia liczba jednostek na sprzedaż, zaokrąglona do dwóch miejsc po przecinku • no_discount_share (numeric) — udział sprzedaży bez rabatu (wartość od 0 do 1), zaokrąglony do trzech miejsc po przecinku Wynik powinien być posortowany najpierw według total_revenue malejąco, potem według avg_units_per_sale rosnąco, a na końcu według nazwy kategorii alfabetycznie.
Opowiedz o swoim doświadczeniu w X5: czym zajmowałeś się w zakresie DWH?
Magazyn został zbudowany według schematu Data Vault — czy ty też go rozwijałeś, utrzymywałeś? Dodawałeś ręcznie huby, linki?
Czy pracowałeś kiedyś z optymalizatorem AQE (Adaptive Query Execution) w Spark? Wiesz, jak on działa?
Jak rozumiesz koncepcję kluczy w tabelach — do czego to jest potrzebne?
Opowiedz o podstawowych koncepcjach Kafka (grupa konsumentów, partycje, tematy).
Jaki format pracy ci odpowiada: zdalny, hybrydowy czy w biurze?
Czy można zobaczyć schemat tabeli przed wykonaniem zapytania w Hive?
Jak widzisz swój rozwój w nowym zespole i jakimi zadaniami chciałbyś się zajmować najbardziej?
Do czego służą dekoratory w Apache Airflow?
Jakie masz plany na najbliższe 5 lat? W jakich dziedzinach chciałbyś się rozwijać?
Czy kiedykolwiek musiałeś tworzyć raporty, pulpity nawigacyjne, wizualizacje (BI)?
Jak postępować przy skew (zniekształceniu) na user_id podczas łączenia tabel transakcji i użytkowników? Jak wybrać optymalny klucz dystrybucji?
Opowiedz więcej o sieci: czym jest i dlaczego jest ważna?
Jak załadowałeś dane z S3 do Greenplum?
Dlaczego zdecydowałeś się wejść na rynek i opuścić swoje obecne miejsce pracy?
Czy używałeś Bridge i tabel PIT w Data Vault? Podaj przykład i wyjaśnij ich cel.