Data Engineer
Comment procéderiez-vous avec la chaîne de Materialized View via une table intermédiaire ReplacingMergeTree pour remplir correctement les données existantes avant le lancement de la nouvelle MV?
Comment Spark détermine-t-il qu'une table est suffisamment 'petite' pour une jointure broadcast (limite supérieure) ?
Qu'est-ce qui ne vous plaît pas actuellement dans votre travail?
Qu'est-ce qu'une clé primaire dans ClickHouse et en quoi diffère-t-elle d'une clé primaire dans une base de données classique?
Qu'est-ce que la versionnage sémantique ? Quand augmenter major, minor, patch ?
Quels sont les risques liés à la qualité des données?
Qu'est-ce que l'optimiseur Catalyst dans Spark et quels exemples spécifiques d'optimisations effectue-t-il (par exemple, predicate pushdown) ?
Comment comparer la table source ("live") et la table cible si la source change constamment?
Parle-moi plus en détail du réseau : qu'est-ce que c'est et pourquoi c'est important ?
Comment suivre dans quelle exécution du DAG une ligne spécifique est apparue dans Data Vault?
Parle-moi de ton expérience chez X5 : qu'as-tu fait dans le domaine du DWH ?
Comment les données sont-elles stockées dans votre lieu de travail actuel?
Pourquoi avez-vous décidé de vous lancer sur le marché et de quitter votre emploi actuel?
Vous travaillez sur une nouvelle fonctionnalité dans la branche dev. Soudain, il devient nécessaire de basculer rapidement sur la branche main pour corriger une faute de frappe dans le fichier README.md. Vous avez plusieurs modifications non indexées : dans src/feature.js (non indexé) et styles/main.css (indexé). Vous souhaitez sauvegarder temporairement toutes ces modifications pour y revenir plus tard dans la branche dev. Quelle séquence de commandes devriez-vous utiliser pour cela? git stash save "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash push -m "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash && git checkout main && [fix] && git checkout dev && git stash apply git add . && git stash && git checkout main && [fix] && git checkout dev && git stash drop git commit -m "Temp commit" && git checkout main && [fix] && git checkout dev && git reset HEAD^
Parlez-moi de la tâche de configuration de la réplication que vous avez résolue.
Qu'est-ce qu'une Vue Matérialisée et en quoi diffère-t-elle d'une Vue normale?
Est-il utile d'utiliser une CTE si elle n'est utilisée qu'une seule fois dans la requête?
As-tu déjà des propositions d'emploi?
Quels sont les inconvénients des UDF dans Spark et quel est leur défaut?
Décrivez les fonctions de fenêtre dans la version la plus étendue : quels mots-clés sont utilisés et à quoi sert chacun.