Understanding Nifi

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Understanding Nifi

Matan Safriel
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
Reply | Threaded
Open this post in threaded view
|

Re: Understanding Nifi

Andy LoPresto
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
[hidden email]
[hidden email]
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Jul 1, 2017, at 09:09, Matan Safriel <[hidden email]> 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