Data Engineer
Come determina Spark che una tabella è abbastanza 'piccola' per un broadcast join (limite superiore)?
Come influisce la dimensione delle particelle sulla tabella ClickHouse?
Come scrivere un JSON in una cartella (nel contesto di Airflow DAG)
Qual è la complessità algoritmica della ricerca in un dizionario nel caso peggiore?
Qual è stata la tua architettura nel progetto? DWH o qualcos'altro?
[nome] parlaci un po' della tua esperienza riguardo ai nostri compiti, che abbiamo cercato di descrivere nell'annuncio di lavoro.
Cos'è il tipaggio paperino (duck typing)?
Analizzeremo JSON — chi analizzerà JSON? A quanto ne so, in ClickHouse non ci sono funzioni.
Suddividi JSON in terza forma normale: come memorizzeresti la lista CashBreakdown e come genereresti chiavi surrogate?
Hai lavorato con funzioni di finestra? Quali tipi di funzioni di finestra conosci?
Cos'è una join broadcast in Spark?
È stata creata una sequenza speciale chiamata even_sequence, che genera solo numeri pari. Cosa bisogna inserire al posto di [...], affinché nel caso in cui il valore di even_column non venga specificato durante l'inserimento, venga preso da even_sequence? create table some_table( even_column [...] ); integer computed as nextval('even_sequence') integer generated always as identity (start with 2 increment by 2) integer default nextval('even_sequence') integer unique default nextval('even_sequence') integer generated by even_sequence’
Quali gruppi di operatori SQL conosci? A cosa appartengono?
Qual è il pericolo dello shuffle in Spark?
Cos'è la partizione dei dati e come aiuta a evitare una scansione completa della tabella?
Hai scoperto che nella storia del repository principale di Git ci sono commit contenenti dati sensibili critici. Questi dati devono essere completamente rimossi da tutta la storia del repository. Valuta quanto sia corretto e sicuro usare la seguente strategia: creare un nuovo commit che rimuova i dati sensibili dalla versione attuale dei file e inviarlo a main. - Corretto, ma non ottimale. È meglio usare git revert per annullare i commit - Condizionatamente corretto. È una soluzione temporanea finché non si trova un mezzo più radicale per rimuovere i dati - Sbagliato e non sicuro. I dati saranno rimossi dalla versione attuale, ma rimarranno accessibili nella storia del repository - Sbagliato. Questo commit può causare nuovi conflitti durante la fusione con altri branch - Corretto e sicuro. Questo metodo garantisce che i dati saranno rimossi e non riappariranno nel repository
Esistono due transazioni. Prima, la prima transazione esegue un comando. Poi, la seconda transazione esegue un comando. Successivamente, la prima transazione continua. Quale sequenza porterà a un deadlock? ```sql -- prima transazione update accounts set balance = balance + 100 where id = ?; -- seconda transazione update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
Come visualizzare i parametri o le restrizioni in ClickHouse?
Perché si verificano i deadlock e quale meccanismo nei database garantisce la coerenza dei dati durante le query parallele?
Ha senso usare una CTE se viene usata una sola volta nella query?