You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nifi.apache.org by Matan Safriel <de...@gmail.com> on 2017/07/01 16:09:59 UTC

Understanding Nifi

Hi,

What languages can I use to prescribe data transformations? does it confine
to a certain language, or can I e.g. user Clojure and Python?
Hopefully there's no Nifi-specific DSL/language that must be used.

Thanks!
Matan

Re: Understanding Nifi

Posted by Andy LoPresto <al...@gmail.com>.
Matan,

In general, to perform data transformations in NiFi, you will not write any code at all. NiFi provides draggable components which you wire together into a dataflow to perform ingest, enrichment, routing, transformation, and delivery activities. 

Some components do accept arbitrary code in order to perform their behavior -- examples include ScriptedLookupService, ExecuteScript, JoltTransformJSON, etc. In these cases, the component will describe what languages are acceptable. The script components accept JavaScript/Groovy/Python/Ruby/Lua. The Jolt processor uses the custom Jolt DSL. 

Other components in NiFi accept NiFi Expression Language in order to populate per-flowfile attributes and values. The EL is documented here [1]. 

[1] http://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html

Andy LoPresto
alopresto@apache.org
alopresto.apache@gmail.com
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Jul 1, 2017, at 09:09, Matan Safriel <de...@gmail.com> wrote:
> 
> Hi,
> 
> What languages can I use to prescribe data transformations? does it confine
> to a certain language, or can I e.g. user Clojure and Python?
> Hopefully there's no Nifi-specific DSL/language that must be used.
> 
> Thanks!
> Matan