Data Engineer
Parlami della tua comprensione della qualità dei dati — hai esperienza nel lavorare in questo campo?
Puoi ricordare la tua esperienza nell'ottimizzazione delle query? Come hai agito, analizzato?
Sei di Mosca? Vivi qui da molto tempo? Perché ti sei trasferito a Mosca?
Come si differenziano i requisiti di potenza di calcolo dello storage tra ETL e ELT?
Per quali compiti ClickHouse non è adatto e cosa sceglieresti invece?
git submodule update --init
Il piano di esecuzione di EXPLAIN corrisponde sempre a ciò che viene effettivamente eseguito?
Cosa è importante per te nel tuo futuro lavoro?
Hai una query che funziona male, è lenta o si blocca — come ottimizzarla?
Con quali problemi ti sei confrontato lavorando con Greenplum?
Conosci una libreria in Rust, multithreaded, molto veloce, che possa sostituire Pandas per Data Science e Big Data?
Come consegnate il codice DAG in produzione?
La funzione di finestra SUM() OVER (PARTITION BY user_id) — in un caso aggiungiamo ORDER BY data di acquisto, nell'altro no. Qual è la differenza?
Come è organizzato il vostro QA (controllo qualità dei dati)?
Cosa ti attrae del settore travel? Forse ti piace viaggiare tu stesso, o il travel-tech ti ha interessato in qualche modo?
Hai due tabelle correlate: first_table e second_table. Vuoi eseguire il comando TRUNCATE TABLE second_table CASCADE;, per eliminare tutte le righe di second_table e tutti i dati dipendenti da essa. Quali sono le possibili conseguenze dell'esecuzione di questo comando? create table first_table ( id integer primary key ); create table second_table ( id serial primary key, first_table_fk integer references first_table(id) ); - La sequenza second_table_id_seq verrà reimpostata al valore iniziale. - Verranno eliminate tutte le voci di first_table collegate tramite chiave esterna a second_table. - Gli indici esistenti per second_table verranno eliminati e ricreati automaticamente. - In successive inserzioni in second_table, il valore predefinito per id potrebbe iniziare da un valore errato. - Si verificherà un errore, poiché il comando CASCADE è vietato per le tabelle con chiavi esterne.
Supponi che Data Vault non sia disponibile e ci siano due tabelle ampie da unire. Come ottimizzeresti questo in Greenplum? E se fosse in ClickHouse?
Come avviene fisicamente il meccanismo di broadcast — come le partizioni di una tabella piccola arrivano agli executor con una tabella grande?
Cos'è CDC e hai esperienza con esso?
Perché si è usato Parquet invece di ORC?