Data Engineer
Logistika kompaniyasi uchun hisobot Siz logistika kompaniyasida tahlilchisiz va omborlardagi operatsiyalarni hisobga olasiz. Har bir omborning samaradorligi haqida hisobot tayyorlashingiz kerak. Har bir ombor uchun hisoblang: • umumiy operatsiyalar soni (count_operations); • omborda ishlov berilgan umumiy mahsulotlar soni (sum_quantity); • faqat belgilangan vaqt bilan (NULL bo'lmagan) operatsiyalarni hisobga olgan holda, operatsiya o'rtacha ishlov vaqti (avg_processing_time), butun son bilan yaxlitlangan; • bir operatsiyada ishlov berilgan maksimal va minimal mahsulotlar soni (max_quantity, min_quantity); • har bir turdagi operatsiyalar soni («yetkazib berish», «jo'natish», «otransfer») alohida ustunlarda: supply_operations, shipment_operations, transfer_operations. Omborlarni filtrlash, ularning umumiy operatsiyalar soni 2 dan ortiq va o'rtacha ishlov vaqti 60 daqiqadan oshmaydigan. Natijani ombor ID bo'yicha o'sish tartibida saralash. Kiritish formati Operationlar jadvali: • operation_id (int) — operatsiya identifikatori • warehouse_id (int) — ombor ID • operation_type (text) — operatsiya turi: «yetkazib berish», «jo'natish», «otransfer» • quantity (int) — operatsiyadagi mahsulotlar soni • operation_date (timestamp) — operatsiya sanasi va vaqti • processing_time (int) — operatsiya ishlov vaqti Processing_time ustuni NULL qiymatlarni o'z ichiga olishi mumkin. Chiqish formati So'rov quyidagi tartibda maydonlar bilan jadvalni qaytarishi kerak: • warehouse_id (int) — ombor ID • count_operations (int) — ombor ichida amalga oshirilgan umumiy operatsiyalar soni • sum_quantity (int) — ombor ichida ishlov berilgan umumiy mahsulotlar soni • avg_processing_time (numeric) — operatsiya o'rtacha ishlov vaqti (daqiqalarda), faqat NULL bo'lmagan operatsiyalarni hisobga olgan holda, butun son bilan yaxlitlangan • max_quantity (int) — bir operatsiyada ishlov berilgan maksimal mahsulotlar soni • min_quantity (int) — bir operatsiyada ishlov berilgan minimal mahsulotlar soni • supply_operations (int) — «yetkazib berish» turidagi operatsiyalar soni • shipment_operations (int) — «jo'natish» turidagi operatsiyalar soni • transfer_operations (int) — «otransfer» turidagi operatsiyalar soni
LEFT JOIN: 10 yozuvli jadval bilan 100 yozuvli jadval o'rtasida. Qaysi minimal va maksimal satrlar soni olinishi mumkin?
[ism] so'radi: Qaysi ustunlar Nullable bo'lishi kerak va bu DDLda qanday belgilanishi kerak?
Apache Airflow uchun oddiy DAG yozing
OLAP kubiklari bilan tanishdingizmi? Ko'p o'lchovli ma'lumotlar bilan ishlayotganda, Excel'dagi pivot jadvalga o'xshash, ammo katta hajmdagi ma'lumotlar bilan tezroq o'zaro aloqada bo'lish uchun.
Siz inkremental va to'liq yuklamalar bilan ishladingizmi? Takrorlarni qanday boshqardingiz?
Airflow'da catchup/backfill vaqtida taxminan 700 DAG ishini bir vaqtning o'zida boshlashdan qanday qochish mumkin?
Greenplum haqida gapir — ma'lumotlarni saqlash formatlari, satr va ustun saqlash.
Ma'lumotlar bazalari boshqaruv tizimlari va so'rovlarni optimallashtirish kontekstida statistikalar nima?
ClickHouse'da qaysi jadval dvigatellarini bilasiz va ishlatgansiz?
Greenplum'da ma'lumotlarni qanday maydonlar bo'yicha taqsimladingiz?
Docker tasvirlari bilan, virtual mashinada muhitni sozlash bo'yicha tajribangiz bormi?
O'tgan loyihangiz haqida gapirib bering, sizning vazifalaringiz nima edi?
Menga aytib ber, kodlashdan tashqari bo'sh vaqtingda nima qilishni yoqtirasiz? Sizning sevimli mashg'ulotlaringiz nima?
Airflow'da pipeline qurishda, axlat ma'lumotlar (noto'g'ri/keraksiz ma'lumotlar) muammosini qanday hal qilardingiz?
ClickHouse'da JOIN qanday ishlaydi?
ROWS BETWEEN va RANGE BETWEEN o'rtasidagi farq nima?
So'zlikda qidirishning eng yomon holatda algoritmik murakkabligi nima?
Airflow'da dbt ishlarini qo'lda yozgansizmi yoki qandaydir avtomatlashtirgansizmi, shablonlar bormi?
Qaysi turdagi taqsimotlardan foydalangansiz? Taqsimot kalitini qanday tanladingiz?