Data Engineer
Milyen folyamatok indulnak el, amikor törlünk vagy módosítunk rekordokat a ClickHouse-ban?
Mi a különbség a refaktorálás és az optimalizálás között?
Mikor nincs szükség adat tárolására?
Kafka feladat: a producer elküldi a termék árának változásait (200 rubl, majd 300 rubl), a fogyasztó 3 podban replikálva van. Lesznek problémák az alapértelmezett konfigurációban?
Dolgoztál már ablakfüggvényekkel? Milyen típusú ablakfüggvényeket ismersz?
Metaadatokat adunk bemenetként, és ez ezek alapján létrehoz egy áramlást — hogyan teszi lehetővé ez a meglévő áramlások gyors átvitelét régi rendszerekből a tervezettbe?
Milyen típusú típusosítás van Pythonban: statikus vagy dinamikus?
Hogyan járjunk el, ha skew (ferdülés) van a user_id-nál tranzakciók és felhasználók tábláinál JOIN során? Hogyan válasszuk ki az optimális elosztási kulcsot?
Eladási elemzés termékkategóriánként egy kiskereskedelmi üzletben Ön egy kiskereskedelmi üzlet elemzője. Feladata, hogy kategóriánkénti értékesítési jelentést készítsen a következő számításokkal: • az adott kategóriában eladott összes egység száma (total_units_sold); • az adott kategória összbevételét figyelembe véve, kedvezményekkel, ahol a kedvezmény a következőképpen számítódik: unit_price × units_sold × (1 − discount/100). Ha a kedvezmény NULL, akkor 0%-nak tekintjük. Kerekítse két tizedesjegyre; • az egy eladásra jutó átlagos eladott egységek száma (avg_units_per_sale), két tizedesjegyre kerekítve; • a kedvezmény nélküli eladások aránya (no_discount_share) — a NULL vagy 0% kedvezménnyel történt eladások száma, osztva az összes eladással az adott kategóriában, három tizedesjegyre kerekítve. Először rendezze az eredményeket összbevétel szerint csökkenő sorrendben, majd az eladásonkénti átlagos egységszám szerint növekvő sorrendben, végül a kategória nevének ábécé sorrendjében. Bemeneti formátum Eladási tábla: • sale_id (int) — egyedi eladási azonosító • product_id (int) — termék azonosító • category (text) — termékkategória • sale_date (timestamp) — eladási dátum és idő • units_sold (int) — eladott egységek száma • unit_price (numeric) — egységár • discount (numeric) — kedvezmény százalékban, NULL lehet A discount oszlop tartalmazhat hiányzó értékeket. Kimeneti formátum A lekérdezésnek olyan táblát kell visszaadnia, amely a következő mezőket tartalmazza ebben a sorrendben: • category (text) — termékkategória • total_units_sold (int) — az adott kategóriában eladott összes egység száma • total_revenue (numeric) — összbevétel kategóriánként, két tizedesjegyre kerekítve • avg_units_per_sale (numeric) — eladásonkénti átlagos egységszám, két tizedesjegyre kerekítve • no_discount_share (numeric) — a kedvezmény nélküli eladások aránya (érték 0 és 1 között), három tizedesjegyre kerekítve Az eredményt először összbevétel szerint csökkenő sorrendben, majd az eladásonkénti átlagos egységszám szerint növekvő sorrendben, végül a kategória nevének ábécé sorrendjében kell rendezni.
A tárhely a Data Vault séma szerint épült — te is fejlesztetted, karbantartottad? Kézzel adtál hozzá hubokat, linkeket?
Hogyan válasszuk ki a megfelelő sharding kulcsot az adatok egyenletes elosztásához?
Hogyan járnál el a Materialized View láncával egy ReplacingMergeTree közbenső táblán keresztül, hogy helyesen töltsd fel a már létező adatokat a új MV indítása előtt?
Hogyan érted a kulcsok fogalmát a táblákban — mire van szükség rájuk?
Hogyan töltsük be az adatokat Kafka-ból a ClickHouse-ba streaming segítségével valós idejű jelentésekhez?
Mi az elsődleges kulcs a ClickHouse-ban, és miben különbözik egy hagyományos adatbázis elsődleges kulcsától?
Mi a különbség a docker run és a docker exec parancsok között?
Milyen SQL-operator csoportokat ismersz? Milyen tartoznak hozzájuk?
Mi az a Catalyst optimalizáló Sparkben, és milyen konkrét optimalizációkat végez (pl. predicate pushdown)?
Mekkora az algoritmikus komplexitás, ha egy elemet kulcs szerint szeretnénk elérni egy szótárból (dict) Pythonban?
Hogyan hasonlítsuk össze az eredeti („élő”) és a cél táblázatot, ha a forrás folyamatosan változik?