Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enregistrement des dataframes entre les tâches en table dans une DB spécifique (vs xcom) #1139

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kolok
Copy link
Contributor

@kolok kolok commented Dec 16, 2024

Description succincte du problème résolu

⚠️ Tâche très embroyonnaire, pas du tout prète pour ne review, même partielle

Arrêter de passer par la table XCOM pour transférer les dataframe entre les tâches:

  • les xcom ne s'occupe que des métadonnées
  • les dataframes sont enregistrés en base de données :
    • création d'une base de données spécifiques pour ne pas interférer avec les données de django lors de calculs en DB
    • les tables sont nommées en utilisant les ID de dag, run et tache
    • les tables sont nettoyée régulièrement

A discuter :

  • Utilisation du même serveur de base de données que la base de données Django
  • Nommage de table
  • politique de nettoyage

Tache à suivre :

  • Transférer les calculs sur la base de données quand c'est possible

Type de changement :

  • Bug fix
  • Nouvelle fonctionnalité
  • Mise à jour de données / DAG
  • Les changements nécessitent une mise à jour de documentation
  • Refactoring de code (explication à retrouver dans la description)

Auto-review

Les trucs à faire avant de demander une review :

  • J'ai bien relu mon code
  • La CI passe bien
  • En cas d'ajout de variable d'environnement, j'ai bien mis à jour le .env.template
  • J'ai ajouté des tests qui couvrent le nouveau code

Comment tester

En local / staging :

@kolok kolok requested a review from a team as a code owner December 16, 2024 07:22
@kolok kolok requested review from fabienheureux and maxcorbeau and removed request for a team December 16, 2024 07:22
@kolok kolok marked this pull request as draft December 16, 2024 07:22
@kolok kolok force-pushed the create_final_actor_reorg branch 2 times, most recently from d2f9675 to bf0f14a Compare December 19, 2024 11:53
Base automatically changed from create_final_actor_reorg to main December 19, 2024 11:57
@maxcorbeau
Copy link
Contributor

Contexte: problème soulevé lors de mon audit d'arrivé via Etat de fonctionnement des DAGs au 2024-11-04

image

Et en comparant la taille DB avant/après avec la requête suivante:

SELECT
	DATE(timestamp) AS date,
	COUNT(*) AS nombre_entrees,
	ROUND(SUM(pg_column_size(value) / 1024.0 / 1024.0)) AS taille_mb
FROM xcom
GROUP BY 1
ORDER BY 1 DESC

On voit la taille de la table xcom qui explose (178MB de plus le 2024-11-04 avec seulement 18 DAGs lancées):

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants