Sobes.tech

Data Engineer

C'est en temps réel, comment l'intégrer entre Kafka et ClickHouse Spark ?

Middle
МВидеоМВидео
55

Nous avons besoin d'un moteur de pipeline — un mécanisme qui permet de créer très rapidement des flux en fournissant des contrats et des paramètres en entrée. Comment le réaliserais-tu à un niveau supérieur?

Middle
МВидеоМВидео
54

Comment fonctionne la partition dans Hive et comment est-elle représentée physiquement dans le système de fichiers?

Middle
AstonAston
54

ACID est-il respecté dans Greenplum?

Middle
МВидеоМВидео
54

Quelles méthodes existent pour supprimer des données dans ClickHouse?

Middle
ютэир
54

Avez-vous de l'expérience avec la bibliothèque Langchain ? Quelles tâches avez-vous résolues avec son aide ?

Junior
01.tech
53

Iceberg est un moteur qui permet de faire de S3 une base de données, il respecte même ACID. Quel est son inconvénient?

Middle
МВидеоМВидео
53

Quel est le but de diviser les données en blocs dans HDFS?

Middle
AstonAston
53

Quelles sont les chaînes mortes dans la base de données?

Senior
ИП Ганус Александр Андреевич
52

Quels opérateurs Airflow avez-vous utilisés ? Comment avez-vous interagi avec dbt via Airflow ?

Middle
КИПР NDA(IGaming)
52

En ce qui concerne la requête, nous pouvons voir ce qui se passe avec les données, y compris quels types de jointures — quels types de jointures pouvons-nous voir là-bas?

Middle
МВидеоМВидео
52

-- Tableau d'origine stretch -- Il est nécessaire de remplir avec la valeur précédente (non NULL) en fonction de l'id - effectuer un remplissage vers le bas id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- La tabla original a la izquierda y la que se desea obtener a la derecha SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch

Junior
Яндекс
52

Qu'est-ce que le GIL (Global Interpreter Lock) ?

Middle
FOM GROUP
51

Étant donné une chaîne de zéros et de uns. Il faut écrire une fonction func() qui renvoie le nombre maximum de uns consécutifs. Par exemple : func("010111011") -> 3

Middle
КуперКупер
51

Comment voir le plan d'exécution d'une requête dans Oracle ? En quoi EXPLAIN PLAN diffère-t-il de EXPLAIN ANALYZE ?

Middle
AstonAston
51

Comment voyez-vous votre participation au projet compte tenu de la composition de l'équipe décrite?

Senior
ооо УК Арбат
51

Analyse de l’activité des utilisateurs dans les campagnes publicitaires L’entreprise tient un registre des événements liés aux campagnes publicitaires. Deux tableaux sont fournis: • campaigns — liste des campagnes publicitaires avec leurs identifiants et noms; • events — événements des utilisateurs par campagne avec des informations sur le type d’événement (par exemple 'click' (clic sur la publicité)) et le temps. Il est nécessaire de générer un rapport pour chaque campagne avec les indicateurs suivants: • Nombre total d’événements. • Nombre d’utilisateurs uniques ayant effectué des événements. • Temps du premier et du dernier événement par campagne. • Rang de la campagne par ordre décroissant du nombre total d’événements. Le rang est un nombre attribué à chaque ligne dans le jeu de résultats basé sur l’ordre des données. Si deux ou plusieurs lignes ont la même valeur, elles reçoivent le même rang, mais le rang suivant est sauté. Le rapport doit inclure uniquement les campagnes ayant eu des événements : les campagnes sans événements ne sont pas prises en compte. Le rapport final doit être trié d’abord par le rang de la campagne en ordre croissant, puis par campaign_name en ordre alphabétique. Format d’entrée • campaign_name (string) — nom de la campagne publicitaire • start_date (timestamp) — date et heure de début de la campagne • end_date (timestamp) — date et heure de fin de la campagne Tableau events: • event_id (int) — identifiant unique de l’événement • user_id (int) — identifiant unique de l’utilisateur ayant effectué l’événement • campaign_id (int) — identifiant unique de la campagne • event_type (string) — type d’événement, par exemple 'click' ou 'conversion' • event_time (timestamp) — date et heure de l’événement Les données ne contiennent pas de valeurs manquantes ou incorrectes. Format de sortie La requête doit retourner un tableau avec les champs dans cet ordre: • campaign_name (string) — nom de la campagne publicitaire • total_events (int) — nombre total d’événements liés à la campagne • unique_users (int) — nombre d’utilisateurs uniques ayant effectué des événements • first_event_time (timestamp) — date et heure du premier événement de la campagne • last_event_time (timestamp) — date et heure du dernier événement de la campagne • campaign_rank (int) — rang de la campagne par ordre décroissant du nombre total d’événements Trier les données par le rang de la campagne en ordre croissant, puis par campaign_name en ordre alphabétique.

Junior
01.tech
51

Quelle est la différence entre les générateurs et les listes en Python?

Middle
FOM GROUP
51

Pourquoi la requête suivante n'utilisera pas l'index si un index B-tree normal a été créé sur id dans la table records? select * from records where id % 2 = 0 - Pour id, un index de type GIN est nécessaire - Les index ne fonctionnent pas avec des expressions dans WHERE - % est une opération de comparaison, pas de filtrage - limit et offset sont obligatoires pour l'optimisation avec index - La requête accède à un champ numérique, pas à une chaîne de caractères

Junior
01.tech
51

Produisez une liste de réservations coûteuses Question Comment pouvez-vous produire une liste de réservations le jour de [téléphone] qui coûteront au membre (ou invité) plus de 30 $? Rappelez-vous que les invités ont des coûts différents de ceux des membres (les coûts indiqués sont par créneau de demi-heure), et l'utilisateur invité a toujours l'ID 0. Incluez dans votre sortie le nom de l'installation, le nom du membre formaté en une seule colonne, et le coût. Triez par coût décroissant, et n'utilisez pas de sous-requêtes.

Middle
FOM GROUP
51
/32