Quanto conosci Linux/Docker?
Data Engineer
Cos'è lo shuffle in Spark e a cosa serve?
Come gestire lo shuffle in Spark (partizionamento, broadcast join, ecc.)?
Cosa apporta il formato Iceberg rispetto al Parquet normale?
Conosci le espressioni di tabella comuni (CTE)? Fornisci un esempio di utilizzo.
Come trovare una sottostringa in una colonna specifica di un file di log in Linux (ad esempio, la data nella terza colonna)?
Cos'è la statistica nel contesto dei sistemi di gestione dei database e dell'ottimizzazione delle query?
[nome] ha parlato della sua esperienza con diversi sistemi di gestione di database, quanto ha dovuto approfondire l'ottimizzazione e i dettagli interni.
Dettaglia l'algoritmo di acquisizione dell'incremento dalla fonte in modo che nulla venga perso durante la modifica della frequenza di caricamento.
Come risolvere il problema quando il processo di lettura può vedere uno stato intermedio (incoerente) della tabella durante un ETL a più fasi (delete+insert) in Iceberg?
Cos'è un "tupla morta" (dead tuple)?
Come confrontare la tabella originale ("live") e quella di destinazione se la fonte cambia costantemente?
Come organizzare la lettura dello stesso messaggio da Kafka da parte di più consumatori diversi (fan-out)?
Cos'è Spark JDBC e come caricare efficacemente una grande tabella tramite esso?
Come sono correlate le partizioni di Spark e le partizioni nelle tabelle (ad esempio, in Iceberg)?
Parla delle migliori pratiche per l'uso degli indici: quando e con quale frequenza utilizzarli.
Cos'è il registro delle transazioni (WAL) in un DBMS e a cosa serve?
È stato utilizzato il metodo di confronto degli hash delle registrazioni per calcolare la differenza tra la sorgente e la tabella di destinazione?
Come rilevare il data skew in Spark?
A cosa servono cache e persist in Spark?