Je suis en train d'écrire une application en utilisant l'API de dataset Spark sur le notebook databricks.
J'ai 2 tables. L'une contient 1,5 milliard de lignes et la seconde 2,5 millions. Les deux tables contiennent des données de télécommunication et la jointure est faite en utilisant le code pays et les 5 premiers chiffres d'un numéro. Le résultat comporte 55 milliards de lignes. Le problème est que j'ai des données déséquilibrées (tâches longues à s'exécuter). Peu importe comment je répartis le dataset, j'ai des tâches longues à s'exécuter en raison de la répartition inégale des clés hachées.
J'ai essayé d'utiliser des jointures de diffusion, j'ai essayé de persister les partitions de la table principale en mémoire, etc...
Quelles sont mes options ici?