En supposant que vos données sont un datatable standard, alors vous devez sous-classe NodeModel, avec un appel au constructeur supertype:
public MyNodeModel(){
//One incoming table, one outgoing table
super(1,1);
}
Vous devez remplacer la méthode par défaut #execute(BufferedDataTable[] inData, ExecutionContext exec)
- c'est là la viande le travail du noeud est terminé et la table de sortie est créée. Idéalement, si vos tables d'entrée et de sortie ont un mappage un-à-un, utilisez une classe ColumnRearranger
(car cela réduit considérablement l'E/S disque et, si vous en avez besoin, permet une simple parallélisation de votre noeud), sinon votre méthode d'exécution doit parcourir la datatable entrante et générer une table de sortie. La méthode #configure(DataTableSpec[] inSpecs)
doit être implémentée pour au moins fournir une spécification pour la table de sortie si cela peut être déterminé avant l'exécution du nœud (normalement, cela permet aux nœuds en aval d'être également configurés, mais Le noeud Transpose 'est un exemple de noeud qui ne peut pas le faire).
Il existe plusieurs autres méthodes que vous devez également implémenter, mais dans certains cas, il s'agit de méthodes vides.
Outre le NodeModel, vous devez également implémenter d'autres classes: une NodeFactory, éventuellement un NodeSettingsPane et éventuellement un NodeView. Dans Eclipse, vous pouvez voir les sources de nombreux nœuds, et les pages «book» de la communauté KNIME ont toutes un lien vers leur code source. Jetez un oeil à https://tech.knime.org/developer-guide et https://tech.knime.org/developer/example pour un guide étape-par-étape. De plus, les questions adressées aux forums de discussion (y compris un forum de développeurs) reçoivent généralement des réponses rapides - et KNIME organise un cours de formation des développeurs quelques fois par an si vous souhaitez passer quelques jours à en apprendre davantage. Et last but not least, il vaut la peine de vous familiariser avec les lignes directrices qui décrivent les meilleures pratiques de comportement de votre nœud.
Veuillez supprimer votre adresse e-mail. Les réponses de Stackoverflow ne sont pas envoyées par e-mail et le laisser ici, causera simplement beaucoup de spam qui lui est envoyé. Vous pouvez également étiqueter votre question avec "Eclipse" afin que les gens puissent la trouver. – ImportanceOfBeingErnest
https://tech.knime.org/developers –