Data Engineer
Özünüz haqqında danışın: təcrübə, vəzifələr, xüsusiyyətlər və ya qürur duyduğunuz nailiyyətlər.
FastAPI ilə təcrübəniz varmı?
Spark ilə ümumilikdə nə qədər işlədiniz və ona nə qədər dərindən daxil oldunuz?
dict1 = { (1, 2), [3, 4, 5] : 0 } var = 1, 2
Şirkətdə son 2,5 ildə maraqlı bir vəzifə haqqında danışın, məsələn, ClickHouse ilə əlaqəli.
Hansı vəziyyətdə lüğətə axtarış ən pis halına qədər pisləşə bilər?
Sorğu çox uzun çəkəndə və tam skan etdikdə optimallaşdırma problemlərini necə həll etdiniz? Belə bir yeni vəzifəyə necə yanaşırsınız?
İstifadəçi üçün cari və əvvəlki iki günün sifarişlərinin hərəkətli orta hesabını necə əlavə etmək olar?
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
Airflow-də depends_on_past parametrinin funksiyası nədir?
Ümumiyyətlə, Data Vault-a niyə ehtiyacınız vardı?
Həll etdiyiniz replikasiya qurğusunun tapşırığı haqqında danışın.
Qeydiyyatların hash müqayisə metodu mənbə və hədəf cədvəli arasındakı fərqi hesablamaq üçün istifadə edildimi?
Məlumatların keyfiyyət məhdudiyyəti işə düşdükdə nə baş verirdi: xəbərdarlıq, çökmə, yenidən başlatma?
ETL və ELT yanaşmalarını müqayisə edin: fərq nədir və hər biri nə zaman tətbiq olunur?
1C ilə necə işləyirdilər: məlumatları birbaşa verilənlər bazasından alırdılar, yoxsa şin vasitəsilə və ya başqa yolla?
Hansı verilənlər bazaları ilə işlədiniz? MongoDB necə işləyir və necə miqyaslanır?
Qeyd artıq mövcuddursa və onu yenidən qeyd etməyə ehtiyac yoxdursa, necə müəyyən etdiniz?
NULL plus 5 — nə qədər olacaq?
Spark-da bir Parquet faylından məlumatları paralel oxumaq mümkündürmü, yoxsa yalnız bir nüvədə bir tapşırıqda?