Member since
01-27-2023
229
Posts
73
Kudos Received
45
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
1282 | 02-23-2024 01:14 AM | |
1589 | 01-26-2024 01:31 AM | |
1094 | 11-22-2023 12:28 AM | |
2673 | 11-22-2023 12:10 AM | |
2703 | 11-06-2023 12:44 AM |
04-20-2023
11:00 PM
Hi @ushasri, There are plenty of ways to perform such a thing, but here are three ways I have already implemented the alert in my flows so far: You can have an PutEmail at the end of each failure Queue and in that why, when a message gets rejected you will get notified by email. This can be done strictly in NiFi. You can create a monitoring system which will interrogate your Bulletin Board using NiFi's REST API and send you whatever alerts you want. This can be done either directly inside NiFi or with a shell/python script on your server. You tail the nifi-app.logs on each server and extract only the errors you are interested in. This solution can be implemented both in NiFi and on your local server.
... View more
04-20-2023
10:27 AM
1 Kudo
hi @acasta, What NiFi version do you have? Using 1.19.1, within List S3, the Maximum Object Age is present and is in the 8th Property from top to bottom. However, when using 1.15.3, that property is not present at all. So the reason for you not seeing it is most likely your NiFi Version. 1.19.1: 1.15.3 From my point of view, you have two options here: You either upgrade your NiFi Instance to a newer version. If you have something in your Tags that you could use you to filter your data, you could set Write Object Tags to True and afterwards use an RouteOnAttribute Processor to filter out your data. Otherwise, I strongly advise you to wait for a better feedback as I have almost no experience with AWS 😞
... View more
04-20-2023
12:02 AM
hi @Ray82, Assuming that you have a way to identify where you need to add your ";", you can easily use NiFi's Expression Language to add it. More details are available here: https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html. At first sight, if you identify a pattern, you can use any function with replace in order to replace your white space with semicolon. Next, to add the semicolon between your characters, you can use an regex, based on your pattern. In terms of processors, you have ReplaceText, UpdateAttribute, UpdateRecord, etc .... so you have plenty to choose from 🙂
... View more
04-19-2023
06:58 AM
hi @VLban, How do your files look like before reaching MergeRecord and how do they look after they went through MergeRecord? Besides that, what settings did you use in your MergeRecord? For your two requirements, everything depends on how you configure MergeRecord. To generate parquet files, you set the Parquet Writer in your Record Writer property. For Large Files, you must define the Minimum Bin size, the Minimum Number of Records and optional Max Bin Age. What it would also help is the Correlation Attribute Name.
... View more
04-18-2023
05:07 AM
hi @ushasri, What processor are you using to save the data within your DB and how do you build up the query? If you want to add the filename to the record which gets inserted within your table, you should use an UpdateRecord Processor to generate a new column and populate it using the ${filename}. Next, the generated record should go further down your line up until it gets inserted in your database.
... View more
04-18-2023
02:41 AM
hi @ushasri, Can you provide some more details about your flow? Without knowing what you are doing in your flow, I can only tell you that you can use the Expression Language from NiFi and extract the current time send it into your stream. The current time can be called as an example like: ${now():toNumber():format('yyyy-MM-dd')} Next, you can use an UpdateRecord Processor, add the attribute to your newly defined column and send it to further processing. More about NiFi's Expression Language: https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html
... View more
04-18-2023
02:38 AM
hi @ushasri, Can you provide some more details about your flow? Without knowing what you are doing in your flow, I can only tell you that you can use the Expression Language from NiFi and extract the filename of the flowfile and send it into your stream. The filename can be found as an attribute in each flowfile and can be called as ${filename}. More about NiFi's Expression Language: https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html
... View more
04-18-2023
02:32 AM
hi @databoi, It would help if you could also provide your NiFi Version, as each version has it s own perks and twitches. What you have experienced so far can have plenty of root causes and it is not quite easy to debug 😞 I assume that this happens only a single node, all the time, right? Something similar happened to me as well and it was not easy to fix ... or at least it was not for me. My problem was mostly related to how I configured the NiFi Cluster. I have been told that there are some best practices when it comes to configuring NiFi, especially on a bare metal machine: the repositories (content, flowfile and provenence) should be stored on separate drives, with a high I/O as these repositories are mostly used by NiFi to persist data. (nifi.properties) assign no more than 40% of your node's RAM memory to your heap configs. (bootstrap.conf) make sure that your open files and max user processes are set to a higher value than normal. setting the correct number of threads. (2 - 4 times the number of cores of your server) There were three problems on my side and the solution was as follows: - I moved the repositories on a different drive (a SSD) with a high I/O, so it could read and write the content faster. - I increased the open files and the max user processes to 50000 and 10000. And I will increase it again in a couple of days. - And my third problem was related to the disk hardware, as it was dying, it started to malfunction causing this stop-the-world delays. I replaced it and everything went back to normal. You should also pay attention to the JVM memory of that particular node. In addition, you could activate the debug mode and even generate some dumps to further analyze (./nifi.sh dump > <name of your dump file>). Another point you could check are the processes on your affected node. Maybe something is causing NiFi to become an zombie process (or your have some zombie processes) which are affecting your overall performance. I do hope that something from this message might lead you to your root cause. In any case, I strongly recommend you to take into consideration other opinions as well, from other community members, with far more experience than myself.
... View more
04-18-2023
01:31 AM
hi @MKothari, Are you certain that your messages get transferred successfully? Based on your screenshot, I can see that no FlowFile got IN in the past 5 mins, meaning that your flow is not running, even though everything is green and you have no errors in your GUI. I assume that the flowfile format matches whatever you have configured in your kafka. Have a look within PublishKafka and see if you do not have a strange scheduling set, causing you to see the number increasing instead of decreasing. Another thing you might try is stop both EvaluateJsonPath and PublishKafka and right click on your matched queue and open List Queue and see if there are any flowfile there and if so, on which node. Next, you can go on that node and further check the log file for possible error messages.
... View more
04-18-2023
12:59 AM
hi @ushasri, What do you mean when you say that you want to extract one of the columns? You want to extract it as an Attribute in your FlowFile or? If yes, you can use an ExtractText processor for example, where you add a new property (using the + sign ) and you define your extraction rule, like a Regex. As you are using a csv file, I think the following example suits your use case perfectly: https://community.cloudera.com/t5/Support-Questions/How-to-ExtractText-from-flow-file-using-Nifi-Processor/m-p/190826
... View more