Data Engineer
Wie bestimmt Spark, dass eine Tabelle groß genug ist, um für einen Broadcast-Join (Obergrenze) verwendet zu werden?
Wie beeinflusst die Partikelgröße die ClickHouse-Tabelle?
Wie man JSON in einen Ordner schreibt (im Kontext von Airflow DAG)
Wie ist die algorithmische Komplexität der Suche in einem Wörterbuch im schlimmsten Fall?
Welche Architektur hatten Sie im Projekt? DWH oder etwas anderes?
[Name] erzählen Sie uns ein bisschen über Ihre Erfahrung in Bezug auf unsere Aufgaben, die wir in der Stellenanzeige zu beschreiben versucht haben.
Was ist Duck Typing?
Wir werden JSON parsen — wer wird JSON parsen? Soweit ich weiß, gibt es in ClickHouse keine Funktionen.
JSON in die dritte Normalform aufteilen: Wie würdest du die Liste CashBreakdown speichern und wie würdest du Surrogatschlüssel generieren?
Hast du mit Fensterfunktionen gearbeitet? Welche Arten von Fensterfunktionen kennst du?
Was ist ein Broadcast-Join in Spark?
Es wurde eine spezielle Sequenz namens even_sequence erstellt, die nur gerade Zahlen generiert. Was muss anstelle von [...] eingesetzt werden, damit im Falle, dass kein Wert für even_column bei der Einfügung angegeben wurde, der Wert aus even_sequence genommen wird? 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’
Welche Gruppen von SQL-Operatoren kennst du? Was gehört dazu?
Was ist die Gefahr des Shuffle in Spark?
Was ist Datenpartitionierung und wie hilft sie, eine vollständige Tabellensuche zu vermeiden?
Sie haben entdeckt, dass in der Geschichte des Haupt-Git-Repositorys Commits enthalten sind, die kritisch vertrauliche Daten enthalten. Diese Daten müssen vollständig aus der gesamten Repository-Geschichte entfernt werden. Bewerten Sie, wie richtig und sicher es wäre, die folgende Strategie anzuwenden: Einen neuen Commit zu erstellen, der die vertraulichen Daten aus der aktuellen Version der Dateien entfernt, und ihn in main zu pushen. - Richtig, aber nicht optimal. Es ist besser, git revert zu verwenden, um Commits rückgängig zu machen - Bedingt richtig. Es ist eine temporäre Lösung, bis ein radikaleres Mittel zur Entfernung der Daten gefunden wird - Falsch und unsicher. Die Daten werden aus der aktuellen Version entfernt, bleiben aber in der Repository-Geschichte zugänglich - Falsch. Dieser Commit kann bei der Zusammenführung mit anderen Branches zu neuen Konflikten führen - Richtig und sicher. Diese Methode stellt sicher, dass die Daten entfernt werden und nicht wieder im Repository erscheinen
Es gibt zwei Transaktionen. Zuerst führt die erste Transaktion einen Befehl aus. Dann führt die zweite Transaktion einen Befehl aus. Danach setzt die erste Transaktion ihre Ausführung fort. Welche Sequenz führt zu einer Deadlock? ```sql -- erste Transaktion update accounts set balance = balance + 100 where id = ?; -- zweite Transaktion update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
Wie kann man die Parameter oder Einschränkungen in ClickHouse anzeigen?
Wodurch entstehen Deadlocks und welcher Mechanismus in Datenbanken ist für die Konsistenz der Daten bei parallelen Abfragen verantwortlich?
Hat es Sinn, eine CTE zu verwenden, wenn sie nur einmal in der Abfrage verwendet wird?