Je reçois des données numériques avec API d'URL et je cherche un moyen de faire des opérations mathématiques dans Apache NIFI avant de mettre des données dans le répertoire de fichiers. Merci déjà maintenant. P>
D'ailleurs, j'utilise un processeur Invokehttp pour obtenir des données et mettre un fichier dans quelque part que j'utilise Putfile Processor. J'ai cherché des sites Web connexes, mais je ne pouvais pas trouver un chemin de travail. P>
3 Réponses :
Essayez d'utiliser QueryRecord A> Processeur et définissez Ajouter une nouvelle propriété à la Les résultats de la requête SQL seront ajoutés au fichier de flowfile RECORDATEUR / WRUITER CODE> STRORT> Services de contrôleur pour lire / écrire le fichier de flowfile. P>
QUERYRECORD code> strong> Processeur en utilisant Apache Calcite SQL Query avec vos opérations mathématiques sur FLUPLILE. P> LI>
code> fort> dans votre format souhaité. p> li>
ul>
@jrcharlie, la réponse a-t-elle aidé? Si oui, acceptez la réponse pour fermer le fil :) meta.stackexchange.com/questions/5234/...
En fin de compte, la réponse dépend de la question de savoir si les données que vous utilisez sont dans le contenu du fichier Flowfile ou dans les attributs. Si les données sont suffisamment petites et que ce n'est que quelques opérations, l'approche suggérée serait de travailler avec les données comme des attributs et d'utiliser la langue d'expression de la NIFI pour effectuer les transformations. p>
Il existe une section d'opérations mathématiques [1] dans la documentation Apache [2]. Les opérations vont de l'opérande simple comme plus / moins à l'exposition des méthodes statiques Java.Lang.Math. P>
[1] HTTPS: // nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#numbers [2] https://nifi.apache.org/docs.html p>
Vous pouvez essayer ExecuTestreamCommand si vous souhaitez apporter l'intégralité du fichier, puis exécuter des opérations. Alternativement, vous pouvez jouer avec les variables sur le fichier de débit - en fonction de la taille de votre fonctionnement. P>
Par exemple, si vous avez des variables initiales, vous pouvez les inclure dans le nom de votre fichier, puis les extraire, exécutez les opérations dans les variables du fichier de débit, puis ajoutez au bas du fichier d'origine p>
Vous pouvez utiliser Executscript, ExecuteGroovyscript pour les scripts Groovy et Python (Jython) (Jython), ou vous pouvez appeler une ligne de commande externe avec ExecuTestreamCommand et transmettre le fichier entier comme STDIN.
Je vais essayer maintenant, merci beaucoup.