Data Engineer
Aký typ typizácie sa používa v Pythone: statická alebo dynamická?
Máme tabuľku zákazníkov (id, meno, adresa atď.), produkty (id, názov atď.), pohyb tovaru (tu máme id zákazníka, tovar, dátum, množstvo, suma), je potrebné zistiť, aké produkty boli predané 1. januára, iba tie jedinečné, a tiež zobraziť meno kupujúceho a...
Ako porovnať pôvodnú („živú“) a cieľovú tabuľu, ak sa zdroj neustále mení?
Ako sú spojené partície Spark a partície v tabuľkách (napríklad v Iceberg)?
Čo je shuffle v Spark a prečo je dôležité ho minimalizovať?
Akú úlohu v Pythone ste naposledy riešili v produkcii?
Kedy je možné použiť rodinu formátov CSV?
Ako rešite problem, keď čítací proces môže vidieť medzičasový (nesúladný) stav tabuľky počas viacstupňového ETL (delete+insert) v Iceberg?
Ako aplikovať funkciu na všetky riadky alebo prvky v pandas?
Na čo si treba dávať pozor pri parsovaní veľkých XML z hľadiska pamäte, rýchlosti a správnosti?
Ako ste presne čítali Parquet?
V ktorých prípadoch môže Materialized View v ClickHouse vynechať údaje alebo ich naopak zdvojnásobiť?
Čo je Materialized View a čím sa líši od bežného pohľadu?
Radšej pracujete ako expert individuálne alebo v tíme vývojárov?
Čo je to partíciovanie? Čo je to sharding? Čo je to replikácia?
Ako sa orchestrujú spustenia v DBT? Používate Airflow?
S akými zdrojmi údajov ste boli schopní pracovať? Ako prebiehala interakcia so zdrojmi?
Úloha #3 Je potrebné nájsť zákazníkov, u ktorých je rozdiel medzi ich objednávkami väčší ako 60 dní. Pre týchto zákazníkov zobrazte maximálny rozdiel (gap_days). Tabuľka objednávok: | order_id | customer_id | order_dt | |----------|-------------|------------| | 1 | 1 | [phone] | | 2 | 1 | [phone] | | 3 | 1 | [phone] | | 4 | 1 | [phone] | | 5 | 2 | [phone] | | 6 | 2 | [phone] | | 7 | 3 | [phone] | Konečný výsledok: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 |
Čo možno povedať o správnosti nasledujúcej požiadavky? select * from sessions where ended_at is null and status != 'pending';
[ime] sa spýtal: Čo je potrebné pridať do motora tabuliek, aby boli údaje aktuálne na všetkých uzloch klastru?