Data Engineer
-- Raskite visus keleivius, kurie keliavo du ar daugiau dienų iš eilės
Kokį išteklių labiausiai sunaudoja Nested Loop Join?
CREATE TABLE core.localUserMetadata ON CLUSTER cluster_4x2 ( UserId String, Country String, LastLoginDate DateTime ) ENGINE = ReplikatsiyalashganReplacingMergeTree() ORDER BY (UserId); CREATE TABLE core.userMetadata ON CLUSTER cluster_4x2 ( UserId String, Country String, LastLoginDate DateTime ) ENGINE = Tarqatilgan('cluster_4x2', 'core', 'localUserMetadata', cityHash64(LastLoginDate));
Kuo skiriasi RANK nuo DENSE_RANK?
Ką gausime kaip rezultatą, jei sujungsime sandorius su klientais pagal client_id ir date_start (be BETWEEN)?
Ar kada nors teko rašyti paketus Oracle?
Kaip ORDER BY veikia ClickHouse lentelę ir kurių raktų geriausia pasirinkti?
Pavadinkite penkis Git komandas.
Kaip paprastai prieinate ETL ir ELT procesų kūrimą? Kuo šie procesai skiriasi?
Ką reiškia UNBOUNDED PRECEDING lango funkcijos ribose?
[vardas] pasakojo apie savo patirtį dirbant su įvairiomis duomenų bazių valdymo sistemomis, kiek gilintis reikėjo į optimizaciją ir vidinius detalius.
Kokia buvo jūsų architektūra projekte? DWH ar kažkas kitas?
iš interview.utils import get_clickhouse_client iš airflow importuoti DAG iš airflow.operators.python importuoti PythonOperator iš airflow.sensors.external_task importuoti ExternalTaskSensor iš datetime importuoti datetime importuoti pandas kaip pd importuoti clickhouse_driver importuoti os CLICKHOUSE_CLIENT = get_clickhouse_client() default_args = { "start_date": datetime(2024, 1, 1) } su DAG( dag_id="datamarts.daily_revenue_per_country", default_args=default_args, schedule_interval="@daily", catchup=False ) kaip 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( ... )
Jūs paminėjote Docker procesus, ar galite išsamiau papasakoti, kaip tai organizuota jūsų įmonėje?
Kaip organizuoti vieno pranešimo skaitymą iš Kafka kelių skirtingų vartotojų (fan-out)?
Kas yra shuffle Spark ir kodėl svarbu jį sumažinti?
dict1 = {(1,2, [3,4]): 0} var = 1,
Ar turite patirties dirbant su Table Engine Join ClickHouse?
Kaip įvertinti konfigūraciją, skirta perkelti vieną terabaitą duomenų iš PostgreSQL į ClickHouse?
Kokias technologijas naudojote duomenims įkelti į Parquet ir kokie mechanizmai buvo naudojami duomenims gauti ir įkelti?