Member since
07-29-2020
574
Posts
323
Kudos Received
176
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 2111 | 12-20-2024 05:49 AM | |
| 2404 | 12-19-2024 08:33 PM | |
| 2157 | 12-19-2024 06:48 AM | |
| 1441 | 12-17-2024 12:56 PM | |
| 2050 | 12-16-2024 04:38 AM |
07-12-2022
06:19 AM
Marfill, If backpressure is applied when the total number of flowfiles in a given queue has reached (#nodes * the limit per node) for example if you have a cluster of 3 nodes and the threshold is set to 10,000 then the backpressure will be applied when total # of flow files = 30,000 and so on. Regarding the Control Rate I believe its done per node statistics, for example if you have a control rate that allows 1 flow file per hour and the control rate processor is set part of load balancing on 3 nodes cluster, let say you receive total of 3 files for the first time one on each node then the 3 will be get processed immediately.
... View more
07-11-2022
11:21 AM
You cant use Expression Language when setting values in the JsonPathReader processor. You need to get the value first as is using the json path and then use an updateAttribute processor on it using the expression above. In updateAttribute you can use the same variable name or different one.
... View more
07-11-2022
10:32 AM
Hi, Can you post the Expression Language you used? I'm seeing in the error message that its complaining about the "literal" function doesnt exist. Did you use it with the variable name that contains the original date value? If so then remove the literal function and just keep the variable since literal works with constants. So the expression should be something like this: ${date_variable:replaceAll('(IST)\s',''):toDate('EEE MMM dd HH:mm:ss yyyy'):format('yyyy-MM-dd HH:mm:ss')}
... View more
07-09-2022
12:45 PM
1 Kudo
Hi, If your configurations are similar to mine then I would suggest that you test it on version 1.16.0 to see if its a bug with version 1.16.2 which in this case needs to be reported. Another option for you is to write custom code using ExecuteScript processor that will generate a different flowfile for each json record since the ExecuteProcess wont have this option and would write everything in the output steam into one flowfile. you can refer to the following post to help you generate multiple flowfiles: https://community.cloudera.com/t5/Support-Questions/Split-one-Nifi-flow-file-into-Multiple-flow-file-based-on/m-p/203387 Another option you can try incase there is a problem with the SplitContent processor is to create every json record in a different line and then try to split them using SplitText processor and set the property "Split Line Count" to 1
... View more
07-09-2022
06:34 AM
Hi, I tried the same scenario using the split content and the code you provided above and it worked for me where Im getting two json records . Im using version 1.16.0 ExecuteProcess Configuration: SplitContent Configurations:
... View more
07-08-2022
12:51 PM
Hi, I ran into this issue before when dealing with ISO timeformat and it would not allow me to write to the DB. In this case you have to use an updateAttribute to convert this format to the format that DB can accept (yyyy-MM-dd HH:mm:ss), this worked for me: ${literal('Wed Oct 13 15:58:58 IST 2021'):replaceAll('(IST)\s',''):toDate('EEE MMM dd HH:mm:ss yyyy'):format('yyyy-MM-dd HH:mm:ss')} Hope it would help.
... View more
07-08-2022
09:01 AM
1 Kudo
Hi, Another option which doesnt include writing custom code is to use AttributesToCSV and MergeConent processors as follows: 1- AttributesToCSV: This will convert an attribute - filename in your case - to CSV format which will be result in single value flowfile. make sure to set the Destination property to "flowfile-content". 2- MergeContent: This will merge the content of flowfiles from above into single file depending on your merge strategy and other properties like Max Entries Per Bin. Also you can specify Merge Delimiter wither you want new line or comma. 3- PutEmail: This will put the merge content from above into an email and send it. I think this is easier and more straight forward solution than the suggestion above. Hope that helps.
... View more
07-08-2022
08:06 AM
1 Kudo
Hi, I'm not aware of any out of the box processor that can help you with that. A suggestion would be to write custom code in an ExecuteScript Processor that gets the filename attribute and stores in a file with the required format in some staging directory, In this processor you can also decide how many flowfiles you want to process per file and once that file reaches the limit (could be by file size or number of entries) you then move the file to final directory where and GetFile processor is reading from and direct the content of the read file (filenames) to PUTEmail. New file will be created in the staging area to address any new entries after moving the older file to the final directory.
... View more
07-05-2022
09:23 AM
1 Kudo
Hi, You can use the JoltTransformJson Processor and set the Jolt Specification value to : [ { "operation": "shift", "spec": { "*": "stocks[]" } } ] Hope that helps. If it does, Please accept solution. Thanks
... View more
07-01-2022
06:43 AM
If you want you can take a a look at the actual source code for existing procssors like GetFile on Github to see if that will help: https://github.com/coco11563/nifi-1.4.0/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetFile.java
... View more