2017-05-08 1 views
0

J'ai le travail suivant qui prend le nombre de lignes d'un fichier séquentiel. Lorsque vous utilisez plusieurs nœuds, par exemple 4, j'obtiens 4 comptes de lignes différents. Comment procéder pour sortir une seule ligne avec le nombre de lignes.L'étape Aggregater génère un nombre de lignes incorrect

Source -> transformateur (ce qui a une ligne fictive pour le comptage) -> Agrégateur étape -> Fichier séquentiel

Toute aide serait grandement appréciée !! Merci!

+0

L'étape Aggregator nécessite des colonnes de clé pour le regroupement. La partition des données sera effectuée sur ces colonnes clés, si le type de partition est laissé comme auto. Donc, le problème n'est pas à cause de plusieurs nœuds. D'après votre déclaration, je pense que vous utilisez cette rangée factice comme clé. Assurez-vous que la ligne factice a la même valeur dans toutes les lignes. Alors seulement toutes les lignes iront à la même partition et vous obtiendrez une rangée avec le nombre total de rangs. – adhithiyan

Répondre

0

Vous pouvez définir le mode d'exécution sur Sequential pour la phase d'agrégation (onglet Stage-Advanced). Si le travail ne traite pas de gros volumes de données, il se peut que vous n'ayez pas beaucoup de ralentissement des performances. Si vous TRAITEZ de grands volumes, il est plus logique de laisser l'agrégateur en parallèle, puis d'ajouter un autre agrégateur et de définir ce dernier en séquence.