Data Engineer
Жалпысынан алганда, Data Vault сизге эмне үчүн керек болчу?
Көрсөтүлгөн экранда эки маалыматтык структура бар; кайсысында мааниси 2 тезирек табылат жана эмнеге?
ClickHouse'ta Table Engine Join менен иштөө тажрыйбасыңыз барбы?
PostgreSQL'дан ClickHouse'га бир терабайт маалымат өткөрүү үчүн конфигурацияны кантип баалоо кылуу керек?
Apache Sparkтеги RDD эмне жана ал башка Spark абстракцияларынан эмнеге айырмаланат?
Кайсы SQL операторлорунун топторун билесиң? Алар эмне үчүн тиешелүү?
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( ... )
Нәтиҗә: | 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до кайсы типтеги типтөө колдонулат: статикалык же динамикалуу?
Kafka-дан бир эле билдирүүнү бир нече ар башка керектөөчүлөрдүн окулушун кантип уюштурууга болот (fan-out)?
Кай командада жана кай жетекчилик астында иштөө сизге эң ыңгайлуу?
Төрт адамдык командада сенин ролуң кандай болду жана 3-4 жылда сенин карьераңды кандай көрөсүң, кандай максаттар коюп жатасың?
Kafkaдан ClickHouseка маалыматтарды реалдуу убакыттагы отчеттор үчүн streaming аркылуу кантип жүктөө керек?
Spring Boot 2 дан Spring Boot 3 га миграциялоо тажрыйбаңыз жөнүндө айтып бериңиз
JSON-ду папкага кантип жазуу керек (Airflow DAG контекстинде)
Airflowда бир нече бирдей тапшырмаларды бир убакта кантип түзсө болот (мисалы, көп бирдей файлдарды жүктөө)?
Кайсы учурларда нормализация колдонулат жана кайсы учурларда денормализация?
Parquetке маалыматтарды жүктөө үчүн кайсы технологияларды колдондуңуз жана маалыматтарды алуу жана жүктөө үчүн кайсы механизмдер колдонулду?
Семантикалык версиялоо деген эмне? Качан major, minor, patch көбөйтүлөт?
Терезе функциялары менен иштедиңби? Кантип терезе функцияларынын түрлөрүн билесиң?