Data Engineer
Millised meetodid on olemas andmete kustutamiseks ClickHouse'is?
Meil on vaja pipeline-mootorist — mehhanismist, mis võimaldab väga kiiresti voogusid luua, sisestades lepinguid ja parameetreid. Kuidas sa seda kõrgemal tasandil rakendaksid?
Kuidas töötab Hive'is partitsioneerimine ja kuidas see füüsiliselt failisüsteemis esindatud on?
Räägi endast — töökogemus, tehnoloogiatek
Mis on andmete jagamise eesmärk plokkides HDFS-s?
Mis on surnud read andmebaasis?
Milliseid Airflow operaatoreid kasutasite? Kuidas teiega suhtlesite dbt kaudu Airflow?
Küsimuse osas võime näha, mis andmetega toimub, sealhulgas milliseid liite tüüpe — milliseid liite tüüpe me seal näeme?
-- Algupärane stretch tabel -- Vajalik on täita NULL väärtused eelneva (mitte NULL) väärtusega id järgi - täitmine allapoole id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- SQL päring, et saada soovitud tabel SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
Iceberg on mootor, mis võimaldab S3-st teha andmebaasi, ta isegi järgib ACID-i. Mis on selle miinus?
Kas Greenplumis järgib ACID-i?
Kasutajategevuse analüüs reklaamikampaaniates Ettevõte jälgib sündmusi, mis on seotud reklaamikampaaniatega. Sisendtabelid: • campaigns — reklaamikampaaniate nimekiri nende identifikaatoritega ja nimedega; • events — kasutajate sündmused kampaaniate kaupa, koos teabe ja tüübi (näiteks 'click' (klõps reklaamil)) ning aja kohta. Vajalik on koostada aruanne iga reklaamikampaania kohta järgmiste näitajate põhjal: • Üldine sündmuste arv. • Unikaalsete kasutajate arv, kes on sündmusi teinud. • Kampaania esimese ja viimase sündmuse aeg. • Kampaania järjestus üldise sündmuste arvu järgi kahanevas järjekorras. Ränd — number, mis antakse igale reale tulemuste kogumis vastavalt määratud andmetele. Kui kaks või rohkem rida on sama väärtusega, saavad nad sama ränga, kuid järgmine ränga jäetakse vahele. Arvesse võetakse ainult need kampaaniad, millel olid sündmused: kampaaniaid ilma sündmusteta ei arvestata. Lõplik aruanne peab olema esmalt sorteeritud rändi järgi kahanevas järjekorras ning seejärel campaign_name alfabetaalselt. Sisendvorming • campaign_name (string) — reklaamikampaania nimi • start_date (timestamp) — kampaania alguskuupäev ja kellaaeg • end_date (timestamp) — kampaania lõppkuupäev ja kellaaeg Sündmuste tabel: • event_id (int) — unikaalne sündmuse identifikaator • user_id (int) — unikaalne kasutaja identifikaator, kes tegi sündmuse • campaign_id (int) — reklaamikampaania unikaalne identifikaator • event_type (string) — sündmuse tüüp, näiteks 'click' (klõps) või 'conversion' (konversioon — edukas tegevus, näiteks ost) • event_time (timestamp) — sündmuse toimumise aeg Andmed ei sisalda tühje või valesid väärtusi. Väljundi formaat Päring peaks tagastama tabeli järgmiste väljadega: • campaign_name (string) — reklaamikampaania nimi • total_events (int) — üldine sündmuste arv • unique_users (int) — unikaalsete kasutajate arv, kes tegi sündmusi • first_event_time (timestamp) — esimese sündmuse aeg • last_event_time (timestamp) — viimase sündmuse aeg • campaign_rank (int) — kampaania järjestus üldise sündmuste arvu järgi kahanevas järjekorras Andmed tuleb sorteerida rändi järgi kahanevas järjekorras ning seejärel campaign_name alfabetaalselt.
Kuidas erinevad Pythonis generaatorid listidest?
Miks järgmine päring ei kasuta indeksit, kui tabelis records (id) on loodud tavaline B-Tree indeks id jaoks? select * from records where id % 2 = 0 - Id jaoks on vaja GIN tüüpi indeksit - Indeksid ei tööta väljenditega WHERE - % on võrdlusoperatsioon, mitte filtreerimine - limit ja offset on kohustuslikud indeksi optimeerimiseks - Päring viitab numbrilisele väljale, mitte tekstiväljale
Produce a list of costly bookings Question How can you produce a list of bookings on the day of [phone] which will cost the member (or guest) more than $30? Remember that guests have different costs to members (the listed costs are per half-hour 'slot'), and the guest user is always ID 0. Include in your output the name of the facility, the name of the member formatted as a single column, and the cost. Order by descending cost, and do not use any subqueries.
Antud on nullidest ja ühtedest koosnev string. On vaja kirjutada funktsioon func(), mis tagastab maksimaalse jada ühtede arvu. Näiteks: func("010111011") -> 3
Millised füüsilise ühendamise tüübid on olemas (Hash Join, Merge Join, Nested Loop)?
Kirjutage lihtne DAG Apache Airflow jaoks
Kas teil on kogemusi Langchain'i raamatukoguga töötamisel? Milliseid ülesandeid sa selle abiga lahendasid?
Kuidas vaadata päringu täitmise plaani Oracle'is? Mille poolest erineb EXPLAIN PLAN ja EXPLAIN ANALYZE?