Data Engineer
Genel olarak Data Vault'a neden ihtiyacınız vardı?
Görüntülenen ekranda iki veri yapısı var; hangisinde 2 değeri aranması daha hızlı olur ve neden?
ClickHouse'ta Table Engine Join ile çalışma deneyiminiz var mı?
PostgreSQL'den ClickHouse'a bir terabayt veri taşımak için yapılandırmayı nasıl değerlendirilir?
Apache Spark'ta RDD nedir ve diğer Spark soyutlamalarından nasıl farklıdır?
Hangi SQL operatörleri gruplarını biliyorsun? Onlar nelere aittir?
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( ... )
Sonuç: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 | with cte as( select order_id, customer_id, order_dt, lag(order_dt) over(partition by customer_id order by order_dt) as prev_order_ft, datediff(day, prev_order_ft, order_dt) as gap_days from Orders ) select customer_id, max(gap_days) as gap_days from cte where gap_days > 60 group by customer_id
Python'da hangi tipizasyon kullanılır: statik mi yoksa dinamik mi?
Kafka'dan aynı mesajın birkaç farklı tüketici tarafından okunmasını nasıl organize edilir (fan-out)?
Hangi takımda ve hangi liderlik altında çalışmak sizin için en rahat?
Dört kişilik bir ekipte rolün neydi ve 3-4 yıl içinde kariyerini nasıl görüyorsun, hangi hedefleri koyuyorsun?
Kafka'dan ClickHouse'a gerçek zamanlı raporlama için streaming yoluyla nasıl veri yüklenir?
Spring Boot 2'den Spring Boot 3'e geçişteki deneyiminizi anlatın
JSON'u klasöre nasıl kaydedilir (Airflow DAG bağlamında)
Airflow'da aynı anda birçok aynı görevi nasıl oluşturursunuz (örneğin, birçok aynı dosyayı yüklemek)?
Hangi durumlarda normalizasyon uygulanır ve hangi durumlarda denormalizasyon?
Parquet'e veri yüklerken hangi teknolojileri kullandınız ve verileri almak ve yüklemek için hangi mekanizmalar kullanıldı?
Semantiksel sürümleme nedir? Ne zaman major, minor, patch artırılmalı?
Pencere fonksiyonlarıyla çalıştınız mı? Hangi tür pencere fonksiyonlarını biliyorsunuz?