Data Engineer
Was ist Hive und wie unterscheidet es sich von herkömmlichen relationalen Datenbanken?
SELEKTIEREN * VON Tabelle1 AS t1 LEFT JOIN Tabelle2 AS t2 ON t1.date_start > t2.date_start --DML ERSTELLEN TABELLE, WENN NICHT VORHANDEN Employee (id int, salary int, departmentId int); EINFÜGEN IN Employee (id,salary,departmentId) WERTE (1, 70000, 1),(2, 94000, 1),(3, 85000, 1),(4, 80000, 2),(5, 60000, 2),(6, 62000, 3),(7, 90000, 3),(8, 94000, 3),(9, 94000, 3); mit cte als( select *, rank() over(partition by departmentId order by salary desc) als max_salary von Employee ) select * from cte wo max_salary = 1
Welche physikalischen JOINs kennst du?
Wie kann man verhindern, dass beim Catchup/Backfill in Airflow etwa 700 DAG-Läufe gleichzeitig gestartet werden?
Welche Tabellentreiber in ClickHouse kennen und verwendet haben?
[Name] fragte: Welche Spalten sollen Nullable sein und wie wird das im DDL festgelegt?
Erzähle mir von Greenplum — Datenformate, Zeilen- und Spaltenspeicherung.
Erzähl mir, was du in deiner Freizeit neben dem Programmieren machst – was sind deine Hobbys?
LEFT JOIN: Tabelle mit 10 Einträgen LEFT JOIN Tabelle mit 100 Einträgen. Was ist die minimale und maximale Anzahl an Zeilen, die man erhalten kann?
Was ist Statistik im Kontext von Datenbanksystemen und Abfrageoptimierung?
Nach welchen Feldern hast du die Daten in Greenplum verteilt?
-- Alle Passagiere finden, die zwei oder mehr Tage hintereinander gereist sind
Wenn du Pipelines in Airflow gebaut hast, wie hast du das Problem mit Junk-Daten (mülligen/ungültigen Daten) gelöst?
Wie funktioniert JOIN in ClickHouse?
Was ist der Unterschied zwischen RANK und DENSE_RANK?
Welche Arten der Distribution haben Sie genutzt? Wie haben Sie den Distributionsschlüssel ausgewählt?
Wie beeinflusst ORDER BY die ClickHouse-Tabelle und welche Schlüssel sind am besten zu wählen?
Bericht für das Logistikunternehmen Sie sind Analyst bei einem Logistikunternehmen, das die Operationen in den Lagern erfasst. Sie müssen einen Bericht über die Effizienz jedes Lagers erstellen. Berechnen Sie für jedes Lager: • die Gesamtzahl der Operationen (count_operations); • die Gesamtzahl der im Lager verarbeiteten Waren (sum_quantity); • die durchschnittliche Bearbeitungszeit der Operation (avg_processing_time), nur für Operationen mit einer angegebenen Zeit (nicht NULL), auf die nächste ganze Zahl gerundet; • die maximale und minimale Anzahl der in einer Operation verarbeiteten Waren (max_quantity, min_quantity); • die Anzahl der Operationen jedes Typs («Lieferung», «Versand», «Transfer») in separaten Spalten: supply_operations, shipment_operations, transfer_operations. Filtern Sie die Lager, bei denen die Gesamtzahl der Operationen mehr als 2 beträgt und die durchschnittliche Bearbeitungszeit 60 Minuten nicht übersteigt. Sortieren Sie das Ergebnis nach Lager-ID aufsteigend. Eingabeformat Tabelle operations: • operation_id (int) — eindeutiger Bezeichner der Operation • warehouse_id (int) — Lager-ID • operation_type (text) — Operationstyp: «Lieferung», «Versand», «Transfer» • quantity (int) — Anzahl der Waren in der Operation • operation_date (timestamp) — Datum und Uhrzeit der Operation • processing_time (int) — Bearbeitungszeit der Operation Die Spalte processing_time kann NULL-Werte enthalten. Ausgabeformat Die Abfrage sollte eine Tabelle mit den Feldern in folgender Reihenfolge zurückgeben: • warehouse_id (int) — eindeutiger Lager-ID • count_operations (int) — Gesamtzahl der Operationen im Lager • sum_quantity (int) — Gesamtzahl der verarbeiteten Waren im Lager • avg_processing_time (numeric) — durchschnittliche Bearbeitungszeit der Operation (in Minuten), nur für Operationen mit nicht NULL Zeit, auf die nächste ganze Zahl gerundet • max_quantity (int) — maximale Anzahl der in einer Operation verarbeiteten Waren • min_quantity (int) — minimale Anzahl der in einer Operation verarbeiteten Waren • supply_operations (int) — Anzahl der Operationen vom Typ «Lieferung» • shipment_operations (int) — Anzahl der Operationen vom Typ «Versand» • transfer_operations (int) — Anzahl der Operationen vom Typ «Transfer»
[Name] berichtete über seine Erfahrung mit verschiedenen Datenbanksystemen, wie tief er in die Optimierung und die internen Abläufe eingreifen musste.
Was wird im Ergebnis erfasst, wenn Transaktionen mit Kunden nach client_id und date_start (ohne BETWEEN) verbunden werden?