Data Engineer
Dove si possono visualizzare i log delle attività in Airflow?
Sono date due tabelle t1 e t2. Il compito è elencare tutti i tipi di join che conosci e il risultato della query select * from t1 <join> t2 on t1.t = t2.t per ciascuno di essi. |t1.t| ------ 1 2 4 null ------ |t2.t| ------ 1 3 null null
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Ottenere i primi 10 autisti per numero di ordini in ogni città
Qual è la differenza tra RANK() e DENSE_RANK()?
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.date_start > t2.date_start
Parlami della tua esperienza lavorativa: compiti, stack tecnologico
Dove funziona meglio la compressione dei dati: nell'archiviazione a colonne o a righe, e perché?
Come gestisce Pandas i dati mancanti?
Analisi della frequentazione dei club di fitness Lavori come analista in una catena di club di fitness. Hai informazioni sulle visite degli utenti e sugli abbonamenti che acquistano. È necessario analizzare l’efficacia dell’utilizzo degli abbonamenti. Calcola per ogni tipo di abbonamento: • il numero totale di utenti che hanno utilizzato questo tipo di abbonamento. Considera solo user_id unici; • il numero totale di visite con questo abbonamento. Considera tutte le visite degli utenti con questo abbonamento; • la quota di utenti di questo abbonamento in percentuale rispetto al totale di utenti (arrotondata a un decimale). Per calcolare la quota, usa il rapporto tra il numero di utenti con questo abbonamento e il numero totale di utenti unici. Ogni utente può avere solo un abbonamento. Ordina il risultato per tipo di abbonamento in ordine alfabetico. Formato di input Tabella memberships: • membership_id (int) — identificativo unico dell’abbonamento • user_id (int) — identificativo unico dell’utente • membership_type (text) — tipo di abbonamento Tabella visits: • visit_id (int) — identificativo unico della visita • user_id (int) — identificativo dell’utente • visit_date (timestamp) — data e ora della visita I dati non contengono valori mancanti o errati. Formato di output La query deve restituire una tabella con i campi in questo ordine: • membership_type (text) — tipo di abbonamento • users_count (int) — numero di utenti unici con questo tipo di abbonamento • total_visits (int) — numero totale di visite degli utenti con questo abbonamento • user_share (numeric) — quota di utenti in percentuale con questo abbonamento rispetto al totale (arrotondata a 1 decimale) Il risultato viene ordinato per tipo di abbonamento in ordine alfabetico.
SELEZIONA * DA tabella1 COME t1 LEFT JOIN tabella2 COME t2 ON t1.date_start > t2.date_start d = { True: 42, 1: 2, 1.0: 100500 } print(d)
Come può verificarsi un'iniezione SQL attraverso il campo di input della data?
Dove appare il parallelismo in Airflow?
Ci parli della sua esperienza con Greenplum, DBT e Data Vault. Perché è passato dal modello a fiocco di neve al Data Vault?
Cosa sono gli indici nei database, a cosa servono e qual è la loro struttura interna?
Come funziona ClickHouse e in cosa si differisce da PostgreSQL?
Come funziona l'ottimizzatore di query in Oracle, cosa guarda e a quale classe appartiene?
Qual è lo scopo di suddividere i dati in blocchi in HDFS?
Qual è la differenza tra un ciclo su una stringa e un ciclo su una tupla in Python? Quali tipi sono di base e come influisce sulle prestazioni?
Threading, multiprocessing, asyncio: qual è la differenza e quando è meglio usare cosa?
Dimmi cosa sai sul salvataggio dei dati in colonne e in righe. Quando e quale dovresti scegliere e perché?