Member since
04-05-2016
139
Posts
143
Kudos Received
16
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
33223 | 02-14-2019 02:53 PM | |
2534 | 01-04-2019 08:39 PM | |
10803 | 11-05-2018 03:38 PM | |
5079 | 09-27-2018 04:21 PM | |
2757 | 07-05-2018 02:56 PM |
07-05-2018
02:56 PM
1 Kudo
Hi @Mateusz Koszutowski It looks like you need to give your admin user permissions to modify the root process group. You can see how this is done in the "Setup NiFi Access Policies for Sys_Admin" section of this HCC article: https://community.hortonworks.com/content/kbentry/171173/setting-up-a-secure-nifi-to-integrate-with-a-secur.html More documentation on setting access policies can be found in the NiFi Administration Guide, specifically the section on Multi-Tenant Authorization: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#multi-tenant-authorization
... View more
06-26-2018
02:18 PM
NiFi 1.7.0 introduced XML Record Reader/Writers. So CSV to XML conversion using a ConvertRecord processor can now be done simply with CSVReader and XMLRecordSetWriter controller services as shown here: https://community.hortonworks.com/content/kbentry/199310/xml-record-writer-in-apache-nifi-170.html
... View more
06-25-2018
06:31 PM
3 Kudos
Objective
About a year ago, I wrote an article that detailed how to use the
ConvertRecord processor and Record Reader/Writer controller services to easily convert a CVS file into various formats (JSON, Avro, XML): https://community.hortonworks.com/content/kbentry/115311/convert-csv-to-json-avro-xml-using-convertrecord-p.html.
At the time, the CSV to XML conversion was done using a ScriptedRecordSetWriter. With the release of NiFi 1.7.0, the CSV to XML conversion can be done much more simply with the new XMLRecordSetWriter. Environment
This tutorial was tested using the following environment and components:
Mac OS X 10.11.6 Apache NiFi 1.7.0 Convert CSV to XML Support Files
Here is a template of the flow discussed in this tutorial: convert-cvs-to-xml.xml
Here is the CSV file used in the flow: users.txt Note: Change the extension from .txt to .csv after downloading. Demo Configuration Import Template
Start NiFi. Import the provided template and add it to the canvas.
You should see the following flow:
Note: After importing the template, create or make sure the directory paths for the GetFile and PutFile processors exist, confirm users.csv is in the input directory and enable all Controller Services before running the flow: Flow Highlights
Details of the original flow are covered in my previous HCC article, but here are the key changes made:
ConvertRecord - CSVtoXML (ConvertRecord Processor)
Record Reader is still set to "CSVReader" but Record Writer is now set to the new "XMLRecordSetWriter":
XMLRecordSetWriter Controller Service
Here are the properties for this controller service: Besides the default values, Schema Access Strategy property is set to "Use 'Schema Name' Property", Schema Registry is set to AvroSchemaRegistry and Name of Root Tag is set to "record". Flow Results
Running this updated flow now produces a flowfile with XML contents:
... View more
Labels:
06-21-2018
02:39 PM
1 Kudo
@Sami Ahmad NiFi supports multi-tenant authorization (https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#multi-tenant-authorization) which "enables multiple groups of users (tenants) to command, control, and observe different parts of the dataflow, with varying levels of authorization." For example, each user could be given access to a process group on the canvas. Not sure if that meets your definition of "work area".
... View more
05-03-2018
01:45 PM
1 Kudo
@Andrew Riffle Looks like there are some possibly helpful troubleshooting tips on this topic/question here: https://community.hortonworks.com/questions/82213/nifi-cluster-startup-exception-cluster-is-still-in.html
... View more
04-19-2018
11:59 PM
Hi @Saikiran Parepally Cluster mode is currently not supported for NiFi Registry. But some thought has been given to HA: https://issues.apache.org/jira/browse/NIFIREG-150
... View more
04-09-2018
05:56 PM
3 Kudos
Objective
To import a versioned flow or revert local changes in a versioned flow, a user must have access to all the components in the versioned flow. As such, it is recommended that restricted components are created at the root process group level if they are to be utilized in versioned flows. This tutorial illustrates the benefits of this configuration and demonstrates a new feature introduced in Apache NiFi 1.6.0: granular restricted component categories (NIFI-4885). Users can be given access to all restricted components or to specific categories of restricted components.
Note: This tutorial assumes you are familiar with setting up a secure Apache NiFi instance and integrating it with a secure Apache NiFi Registry. Environment
This tutorial was tested using the following environment and components:
Mac OS X 10.11.6
Apache NiFi 1.6.0
Apache NiFi Registry 0.1.0 User Setup
Assume the following: There are two users, "sys_admin" and "test_user" who have access to both view and modify the root process group. "sys_admin" has access to all restricted components.
"test_user" has access to restricted components requiring 'read filesystem' and 'write filesystem'. Restricted Controller Service Created in Root Process Group
In this first example, sys_admin creates a KeytabCredentialsService controller service (NIFI-4917) at the root process group level: KeytabCredentialService controller service is a restricted component that requires 'access keytab' permissions:
Sys_admin creates a process group ABC containing a flow with GetFile and PutHDFS processors:
GetFile processor is a restricted component that requires 'write filesystem' and 'read filesystem' permissions:
PutHDFS is a restricted component that requires 'write filesystem' permissions:
The PutHDFS processor is configured to use the root process group level KeytabCredentialsService controller service:
Sys_admin saves the process group as a versioned flow:
Test_user changes the flow by removing the KeytabCredentialsService controller service:
If test_user chooses to revert this change:
the revert is successful:
Additionally, if test_user chooses to import the ABC versioned flow:
The import is successful: Restricted Controller Service Created in Process Group
Now, consider a second scenario where the controller service is created on the process group level.
Sys_admin creates a process group XYZ:
Sys_admin creates a KeytabCredentialsService controller service at the process group level:
The same GetFile and PutHDFS flow is created in the process group:
However, PutHDFS now references the process group level controller service:
Sys_admin saves the process group as a versioned flow.
Test_user changes the flow by removing the KeytabCredentialsService controller service. However, with this configuration, if test_user attempts to revert this change:
the revert is unsuccessful because test_user does not have the 'access keytab' permissions required by the KeytabCredentialService controller service:
Similarly, if test_user tries to import the XYZ versioned flow:
The import fails:
... View more
Labels:
03-14-2018
03:30 PM
Looks like this is being handled/answered in a different but related question: https://community.hortonworks.com/questions/177353/i-am-a-newbie-in-nifi-i-am-using-nifi-in-docker-ho.html?childToView=176700#answer-176700
... View more
03-12-2018
02:47 PM
Hi @Akananda Singhania Let me know if you have more specific questions, but here is a quick example of GetHTTP getting movie data from a web site: Besides URL and Filename, all properties are default values.
... View more
03-09-2018
04:23 PM
@hema moger A couple things: What is your intent in using the PublishKafkaRecord processor? You set yours up to use both a CSVReader and a CSVRecordSetWriter. So there is no format conversion like my flow which converts CSV to JSON. Did you get the flow from my article running? It seems like you are missing critical components. As I mentioned earlier, you aren't setting a schema.name attribute which is needed by your CSVRecordSetWriter.
... View more