Data Engineer
Kas yra Hive ir kuo jis skiriasi nuo tradicinių reliacinių duomenų bazių?
Pasirinkite * Iš lentelės1 kaip t1 Kairysis jungimas su lentele2 kaip t2 ON t1.date_start > t2.date_start --DML Sukurkite lentelę, jei ji neegzistuoja Employee (id int, salary int, departmentId int); Įterpkite į Employee (id,salary,departmentId) reikšmes (1, 70000, 1),(2, 94000, 1),(3, 85000, 1),(4, 80000, 2),(5, 60000, 2),(6, 62000, 3),(7, 90000, 3),(8, 94000, 3),(9, 94000, 3); su cte kaip( pasirinkite *, rank() over(partition by departmentId order by salary desc) kaip max_salary iš Employee ) pasirinkite * iš cte kur max_salary = 1
Kokius fizinius JOIN'us žinote?
Kaip išvengti maždaug 700 DAG vykdymo vienu metu catchup/backfill metu Airflow?
Kokius lentelių variklius žinote ir naudojote ClickHouse?
[vardas] paklausė: Kurios stulpeliai turi būti Nullable ir kaip tai nurodyti DDL?
Papaskink apie Greenplum — duomenų saugojimo formatų, eilutės ir stulpelio saugojimo.
Pasakyk man, ką mėgsti veikti laisvalaikiu, be programavimo – kokie tavo pomėgiai?
Kairysis sujungimas: lentelė su 10 įrašais Kairysis sujungimas: lentelė su 100 įrašais. Kokia yra minimali ir maksimali eilučių skaičius, kurį galima gauti?
Ką reiškia statistika duomenų bazių valdymo sistemose ir užklausų optimizavime?
Kokiose laukuose paskirstėte duomenis Greenplum'e?
-- Raskite visus keleivius, kurie keliavo du ar daugiau dienų iš eilės
Kai statydavai pipeline'us Airflow, kaip spręsdavai junk data (negaliojančius/nepakeičiamus duomenis)?
Kaip veikia JOIN ClickHouse'e?
Kuo skiriasi RANK nuo DENSE_RANK?
Kokius paskirstymo būdus naudojote? Kaip pasirinkote paskirstymo raktą?
Kaip ORDER BY veikia ClickHouse lentelę ir kurių raktų geriausia pasirinkti?
Ataskaita logistikos įmonei Jūs esate logistikos įmonės analitikas, kuris stebi sandėlių operacijų apskaitą. Jums reikia paruošti ataskaitą apie kiekvieno sandėlio efektyvumą. Kiekvienam sandėliui apskaičiuokite: • bendrą operacijų skaičių (count_operations); • sandėlyje apdorotų prekių bendrą kiekį (sum_quantity); • vidutinį operacijos apdorojimo laiką (avg_processing_time), įskaitant tik operacijas su nurodytu laiku (ne NULL), suapvalintą iki sveiko skaičiaus; • didžiausią ir mažiausią prekių kiekį, apdorotą vienoje operacijoje (max_quantity, min_quantity); • kiekvieno tipo operacijų skaičių („pateikimas“, „siuntimas“, „perdavimas“) atskirose stulpeliuose: supply_operations, shipment_operations, transfer_operations. Filtruokite sandėlius, kurių bendras operacijų skaičius yra didesnis nei 2 ir vidutinis apdorojimo laikas neviršija 60 minučių. Rodyti rezultatą pagal sandėlio ID didėjimo tvarka. Įvesties formatas Operacijų lentelė: • operation_id (int) — unikalus operacijos identifikatorius • warehouse_id (int) — sandėlio identifikatorius • operation_type (text) — operacijos tipas: „pateikimas“, „siuntimas“, „perdavimas“ • quantity (int) — prekių kiekis operacijoje • operation_date (timestamp) — operacijos data ir laikas • processing_time (int) — operacijos apdorojimo laikas Stulpelis processing_time gali būti tuščias. Išvesties formatas Užklausa turi grąžinti lentelę su laukais tokia tvarka: • warehouse_id (int) — sandėlio unikalus identifikatorius • count_operations (int) — bendras atliktų operacijų skaičius sandėlyje • sum_quantity (int) — bendras apdorotų prekių kiekis sandėlyje • avg_processing_time (numeric) — operacijos vidutinis apdorojimo laikas (minutėmis), įskaitant tik ne NULL laikus, suapvalintą iki sveiko skaičiaus • max_quantity (int) — didžiausias apdorotų prekių kiekis vienoje operacijoje • min_quantity (int) — mažiausias apdorotų prekių kiekis vienoje operacijoje • supply_operations (int) — „pateikimo“ operacijų skaičius • shipment_operations (int) — „siuntimo“ operacijų skaičius • transfer_operations (int) — „perdavimo“ operacijų skaičius
[vardas] pasakojo apie savo patirtį dirbant su įvairiomis duomenų bazių valdymo sistemomis, kiek gilintis reikėjo į optimizaciją ir vidinius detalius.
Ką gausime kaip rezultatą, jei sujungsime sandorius su klientais pagal client_id ir date_start (be BETWEEN)?