Sobes.tech

Data Engineer

Portal vasitəsilə fayllar və ya məlumatlar əldə etmək üçün FTP ilə işlədinizmi?

Middle+
Лига Цифровой ЭкономикиЛига Цифровой Экономики
32

Ekspert kimi fərdi işləməyi və ya inkişaf etdirici komandası ilə işləməyi üstün tutursan?

Middle
СБЕРСБЕР
32

Partitionlama nədir? Sharding nədir? Replikasiya nədir?

Middle+
СБЕРСБЕР
32

Bildirişlər cədvəlində status sahəsi var və onun dəyərləri: 'sent', 'delivered', 'read'. Hansı sorğu düzgündür? select * from notifications where status like '%sent%' order by created_at desc limit 5 select * from notifications where status = 'read' order by created_at desc limit 5 select * from notifications order by status desc limit 5 select * from notifications where status not in ('sent', 'delivered') order by created_at asc limit 5 select * from notifications where status in ('sent', 'delivered') order by created_at desc limit 5

Junior
01.tech
32

DBT-də buraxılışlar necə orkestrlənir? Airflow istifadə edirsiniz?

Middle+
СБЕРСБЕР
32

Hansı məlumat mənbələri ilə işləyə bildiniz? Mənbələrlə qarşılıqlı əlaqə necə baş verdi?

Middle
КИПР NDA(IGaming)
32

Vəzifə #3 Müştəriləri tapmaq lazımdır ki, onların sifarişləri arasındakı fərq 60 gündən çoxdur. Bu müştərilər üçün ən böyük fərqi (gap_days) göstərin. Sifarişlər cədvəli: | 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] | Nəticə: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 |

Middle
ОстровокОстровок
32

Aşağıdakı sorğunun düzgünlüyü haqqında nə deyə bilərik? select * from sessions where ended_at is null and status != 'pending';

Junior
01.tech
32

Logistika şirkəti üçün hesabat Siz logistika şirkətində anbarlardakı əməliyyatları qeyd edən analistsiniz. Hər anbarın effektivliyi haqqında hesabat hazırlamalısınız. Hər anbar üçün hesablayın: • ümumi əməliyyatların sayı (count_operations); • anbarın işlənmiş ümumi malların sayı (sum_quantity); • yalnız göstərilən vaxtla (NULL olmayan) əməliyyatlar nəzərə alınaraq, orta işləmə vaxtı (avg_processing_time), tam ədədə yuvarlaqlaşdırılmış; • bir əməliyyatda işlənmiş maksimum və minimum malların sayı (max_quantity, min_quantity); • hər bir növ əməliyyatların sayı («təchizat», «göndərmə», «köçürmə») ayrıca sütunlarda: supply_operations, shipment_operations, transfer_operations. Toplam əməliyyat sayı 2-dən çox olan və orta işləmə vaxtı 60 dəqiqədən çox olmayan anbarları filtrləyin. Nəticəni anbar ID-yə görə artan sırayla sıralayın. Daxil etmə formatı Əməliyyatlar cədvəli: • operation_id (int) — əməliyyatın unikal identifikatoru • warehouse_id (int) — anbar identifikatoru • operation_type (text) — əməliyyat növü: «təchizat», «göndərmə», «köçürmə»

Junior
01.tech
32

[ad] soruşdu: Klasterin bütün düyünlərində məlumatların aktual qalması üçün cədvəl motoruna nə əlavə edilməlidir?

Middle
Utair
32

Oracle-də bölmələmə haqqında danışın: nə üçün istifadə olunur və hansı növləri var?

Middle
AstonAston
32

[ad] soruşdu: 'Uçuşlar tapıldı mı' sahəsi yalnız iki dəyərə malikdir (bəli/xeyr). Bunu ClickHouse-da necə daha yaxşı təmsil etmək olar? Bool üçün daxili olaraq hansı məlumat tipi istifadə olunur?

Middle
Utair
32

Məlumatların keyfiyyət hadisələri ilə işlədinizmi?

Middle
СБЕРСБЕР
32

PostgreSQL-də B-ağac və hash indekslərini hansı hallarda istifadə etmək lazımdır?

Senior
ТЕХНОНИКОЛЬ
32

Python-da dekoratorlarla işlədinizmi? Bunlar nədir və harada tətbiq olunur?

Middle
ОстровокОстровок
31

Sorğu planı nədir? Nəyə görə lazımdır?

Middle
Леман про
31

def extract_from_s3(**kwargs): df = pd.read_csv("s3://my-bucket/data/transactions_{}.csv".format(datetime.now().strftime("%Y-%m-%d"))) kwargs["ti"].xcom_push(key="df", value=df.to_dict()) def load_to_raw_table(**kwargs): df = pd.DataFrame(kwargs["ti"].xcom_pull(task_ids="extract", key="df")) rows = [tuple(r) for r in df[["transaction_id", "user_id", "amount", "created_at"]].to_numpy()] CLICKHOUSE_CLIENT.execute( "INSERT INTO raw.transactions (transaction_id, user_id, amount, created_at) VALUES", rows ) def build_aggregate_view(): query = """ INSERT INTO datamarts.daily_revenue_per_country SELECT toDate(r.created_at) as event_date, u.country, sum(r.amount) as total_revenue FROM raw.transactions r LEFT JOIN core.userMetadata u ON r.user_id = u.UserId WHERE toDate(r.created_at) = '{}' GROUP BY event_date, u.country """.format(datetime.now().strftime("%Y-%m-%d")) CLICKHOUSE_CLIENT.execute(query) transactions_sensor = S3KeySensor( task_id="transactions_sensor", bucket_key="data/transactions_{}.csv".format(datetime.now().strftime("%Y-%m-%d")), bucket_name="my-bucket", aws_conn_id="aws_default", timeout=600, poke_interval=30, mode="poke" ) extract = PythonOperator( task_id="extract", python_callable=extract_from_s3, provide_context=True ) load = PythonOperator( task_id="load", python_callable=load_to_raw_table, provide_context=True ) aggregate = PythonOperator( task_id="aggregate", python_callable=build_aggregate_view ) transactions_sensor >> extract >> load >> aggregate

Middle
wb
31

Airflow-da XCom istifadə xüsusiyyətləri hansılardır?

Middle
КИПР NDA(IGaming)
31

ROWS BETWEEN və RANGE BETWEEN arasındakı fərq nədir?

Middle
wb
31

İndeks nədir? Klasterləşdirilmiş indeks ilə klasterləşdirilməmiş indeks arasındakı fərq nədir?

Middle
СБЕРСБЕР
31
/32