Data Engineer
Ce tip de tipizare este folosit în Python: statică sau dinamică?
Avem un tabel cu clienți (id, nume, adres etc.), produse (id, nume etc.), mișcarea produselor (aici avem id-ul clientului, produs, dată, cantitate, sumă), trebuie să aflăm ce produse au fost vândute pe 1 ianuarie, doar cele unice, și, de asemenea, să afișăm numele cumpărătorului și...
Cum compari tabelul original ("live") și tabelul țintă dacă sursa se schimbă constant?
Cum sunt legate partițiile Spark și partițiile din tabele (de exemplu, în Iceberg)?
Ce este shuffle în Spark și de ce este important să-l minimizăm?
Care a fost ultima sarcină în Python pe care ai rezolvat-o în producție?
Când se pot folosi familiile de formate CSV?
Cum se rezolvă problema atunci când procesul de citire poate vedea o stare intermediară (incoerentă) a tabelului în timpul unui ETL în mai multe etape (delete+insert) în Iceberg?
Cum se aplică o funcție la toate rândurile sau elementele din pandas?
La ce trebuie să fii atent în privința memoriei, vitezei și corectitudinii la parsarea fișierelor XML mari?
Cum anume ai citit Parquet?
În ce cazuri o Vizualizare Materializată în ClickHouse poate omite date sau, dimpotrivă, le poate duplica?
Ce este o Vizualizare Materializată și în ce constă diferența față de o Vizualizare obișnuită?
Îți place mai mult să lucrezi individual ca expert sau în echipa de dezvoltatori?
Ce este partiționarea? Ce este sharding-ul? Ce este replicarea?
Cum sunt orchestrate lansările în DBT? Folosiți Airflow?
Cu ce surse de date ați reușit să lucrați? Cum a decurs interacțiunea cu sursele?
Problema #3 Trebuie să găsim clienții ale căror intervale între comenzi sunt mai mari de 60 de zile. Pentru acești clienți, afișați diferența maximă (gap_days). Tabelul comenzi: | 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] | Rezultatul final: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 |
Ce se poate spune despre corectitudinea următoarei interogări? select * from sessions where ended_at is null and status != 'pending';
[nume] a întrebat: Ce trebuie adăugat la motorul de tabele pentru ca datele să fie menținute actuale pe toate nodurile clusterului?