Data Engineer
Nell'immagine mostrata ci sono due strutture dati; in quale di esse la ricerca del valore 2 sarà più veloce e perché?
Hai esperienza con Table Engine Join in ClickHouse?
Come valutare la configurazione per trasferire un terabyte di dati da PostgreSQL a ClickHouse?
Quali gruppi di operatori SQL conosci? A cosa appartengono?
da 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( ... )
Risultato finale: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 | con cte come( 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 da Orders ) selezionare customer_id, max(gap_days) come gap_days da cte dove gap_days > 60 gruppo per customer_id
Che tipo di tipizzazione viene utilizzata in Python: statica o dinamica?
Come organizzare la lettura dello stesso messaggio da Kafka da parte di più consumatori diversi (fan-out)?
In quale team e sotto quale leadership ti senti più a tuo agio nel lavorare?
Qual è stato il tuo ruolo in un team di 4 persone e come vedi la tua carriera tra 3-4 anni, quali obiettivi ti poni?
Come caricare i dati da Kafka a ClickHouse tramite streaming per report in tempo reale?
Racconta la tua esperienza di migrazione da Spring Boot 2 a Spring Boot 3
Come scrivere un JSON in una cartella (nel contesto di Airflow DAG)
Come creare molte attività uguali in parallelo in Airflow (ad esempio, caricare molti file uguali)?
In quali casi si applica la normalizzazione e in quali la denormalizzazione?
Quali tecnologie hai usato per ottenere e caricare i dati in Parquet, e quali meccanismi sono stati utilizzati?
Cos'è RDD in Apache Spark e come si differenzia da altre astrazioni di Spark?
Cos'è la versioning semantico? Quando aumentare major, minor, patch?
Hai lavorato con funzioni di finestra? Quali tipi di funzioni di finestra conosci?
Abbiamo una tabella clienti (id, nome, indirizzo, ecc.), prodotti (id, nome, ecc.), movimento di prodotti (qui abbiamo id cliente, prodotto, data, quantità, somma), dobbiamo trovare quali prodotti sono stati venduti il 1° gennaio, solo quelli unici, e anche mostrare il nome dell'acquirente e...