2017-04-21 6 views
0

Je me demandais si je pouvais fusionner 2 ou plusieurs lignes dans pentaho?fusionner des lignes dans la bouilloire PDI pentaho

exemple: J'ai 2 rangées de

case:'001', 
owner:'Barack' 
date:'2017-04-10' 

case:'001', 
owner:'Trump' 
date:'2017-02-10' 

Alors je veux avoir une sortie MongoDB:

case:'001' 
ownerHistory:[ 
{ 
owner:'Barack' 
date:'2017-04-10' 
}, 
{ 
owner:'Trump' 
date:'2017-02-10' 
} 
] 
+1

Votre entrée d'échantillon a 002 cas pour la deuxième rangée, est qu'une erreur ou est-il une autre façon de sélectionner les lignes à fusionner? – Cyrus

+0

Merci Cyrus, c'était mon erreur. c'était supposé être le cas 001 ... Avez-vous une solution pour cela? – hnandarusdy

Répondre

0

Le MongoDB sortie étape prend en charge les mises à jour de modification qui affectent les champs individuels dans un document et l'opération $ push pour ajouter des éléments à une liste/tableau. En utilisant ceux-ci, vous n'avez pas besoin de fusionner les lignes, vous pouvez simplement les envoyer à l'étape de sortie MongoDB. Avec la mise à jour du modificateur active, chaque ligne suivante sera insérée si le cas n'existe pas encore ou si le propriétaire a ajouté le tableau au tableau.

Malheureusement, si vous exécutez cette transformation une deuxième fois avec les mêmes données entrantes, il ajoutera plus de copies des propriétaires. Je n'ai pas trouvé le moyen de résoudre ce problème, alors j'espère que vous ne l'avez pas dans votre cas d'utilisation. Peut-être que si vous fractionnez les données et insérez/remplacez l'utilisation du premier enregistrement pour chaque cas, alors faites les mises à jour $ push pour les deuxièmes et derniers enregistrements que vous pouvez gérer.

MongoDB configuration screenshot

+0

Salut, Merci pour votre réponse. Malheureusement, je n'ai pas réussi à faire fonctionner ça. Je me demande ce que je devrais mettre pour le type de données aussi. Les options sont uniquement Chaîne, Nombre, Date, Booléen, Entier, BigNUmber, Binaire, Horodatage, Adresse Internet. Peut-être, si vous pouviez partager un fichier .ktr, ce serait très utile. (quand vous avez le temps évidemment) et oui, bien sûr, je vais avoir plus de 1 cas – hnandarusdy

+0

J'ai réécrit la réponse pour utiliser les capacités intégrées de la sortie MongoDB, plutôt que de construire la mise en page du document à partir de zéro. – Cyrus