Data Engineer
SQLda ikki jadvalni qanday birlashtirish mumkin?
git submodule update --init
Qaysi ish shakli siz uchun qulayroq — ofis, gibrid yoki masofadan? Bizda ikki ofis bor, Kutuzovskiy va Tula shaharlarida.
EXPLAIN ning bajarish rejasi har doim amalga oshirilayotgan bilan mos keladimi?
Mobil mijozga bir xil buyurtmalarni, lekin kamroq maydonlar bilan kirish imkoniyatini qanday ta'minlash mumkin? BFF nima?
Sizda yomon ishlayotgan, sekin yoki yiqiladigan so'rov bormi — uni qanday optimallashtirish mumkin?
Umumiy jadval ifodalarini (CTE) bilasizmi? Foydalanish misolini keltiring.
Ishingizda PL/SQL protseduralaridan foydalanish haqida gapiring.
from interview.utils import get_clickhouse_client from airflow import DAG from airflow.operators.python import PythonOperator from airflow.sensors.external_task import ExternalTaskSensor from datetime import datetime import pandas as pd import clickhouse_driver import os CLICKHOUSE_CLIENT = get_clickhouse_client() default_args = { "start_date": datetime(2024, 1, 1) } with DAG( dag_id="datamarts.daily_revenue_per_country", default_args=default_args, schedule_interval="@daily", catchup=False ) as dag: 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" ) 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( ... )
Siz Docker jarayonlarini eslatdingiz, bu sizning tashkilotingizda qanday tashkil etilganini batafsil ayta olasizmi?
JOIN jadvalari va foydalanuvchilar jadvalida user_id bo'yicha skew (egilishni) qanday boshqarish mumkin? Optimal taqsimlash kalitini qanday tanlash kerak?
Airflow'da catchup/backfill vaqtida taxminan 700 DAG ishini bir vaqtning o'zida boshlashdan qanday qochish mumkin?
Airflow'ni boshqarganmi yoki faqat dasturchi sifatida ishladimi?
Qaysi Airflow versiyasida ishladingiz?
O'tgan loyihangiz haqida gapirib bering, sizning vazifalaringiz nima edi?
Jami yuklamalar qancha bo'lgan — yuqori darajadagi ishlar, iplar?
Tashqi jadvaldagi ma'lumotlar qanday qilib maqsad jadvalariga yuklandi?
Python'da is va == operatorlari orasidagi farq nima?
Apache Airflow'da dekoratorlar nima uchun ishlatiladi?
Qaysi vazifalar uchun ClickHouse mos kelmaydi va uning o'rniga nima tanlardingiz?