Data Engineer
-- Găsiți toți pasagerii care au făcut călătorii de două sau mai multe zile consecutive
Care resursă este consumată cel mai mult la Nested Loop Join?
CREATE TABLE core.localUserMetadata ON CLUSTER cluster_4x2 ( UserId String, Country String, LastLoginDate DateTime ) ENGINE = ReplikatReplacerMergeTree() ORDER BY (UserId); CREATE TABLE core.userMetadata ON CLUSTER cluster_4x2 ( UserId String, Country String, LastLoginDate DateTime ) ENGINE = Distribuit('cluster_4x2', 'core', 'localUserMetadata', cityHash64(LastLoginDate));
Care este diferența dintre RANK și DENSE_RANK?
Dacă unești tranzacțiile cu clienții după client_id și date_start (fără BETWEEN), ce va fi capturat în rezultat?
Ați fost nevoit vreodată să scrieți pachete în Oracle?
Cum influențează ORDER BY tabelul ClickHouse și ce chei este mai bine să alegi?
Numește cinci comenzi Git.
Cum abordezi de obicei construirea proceselor ETL și ELT? Care este diferența dintre aceste procese?
Ce înseamnă UNBOUNDED PRECEDING în limitele funcției de fereastră?
[nume] a vorbit despre experiența sa cu diferite sisteme de gestionare a bazelor de date, cât de profund a trebuit să se implice în optimizare și detalii interne.
Care a fost arhitectura ta în proiect? DWH sau altceva?
din 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( ... )
Ai menționat procesele Docker, poți să ne spui mai detaliat cum este organizat acest lucru la voi?
Cum să organizezi citirea aceleiași mesaje din Kafka de către mai mulți consumatori diferiți (fan-out)?
Ce este shuffle în Spark și de ce este important să-l minimizăm?
dict1 = {(1,2, [3,4]): 0} var = 1,
Ai experiență cu Table Engine Join în ClickHouse?
Cum se evaluează configurația pentru transferul unui terabyte de date de la PostgreSQL la ClickHouse?
Ce tehnologii ai folosit pentru a obține și încărca datele în Parquet și ce mecanisme au fost utilizate?