Push tweets to HDFS/Solr and visualize using Banana dashboardTwitter Dashboardf5ca9391-0f9a-4e95-8a27-3aa3a2d044ac7c84501d-d10c-407c-b9f3-1d80e38fe36a-17.87633590368608358.7776312018245050211507c9-92e6-49ea-a1bb-0666683e46ecf5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac6f28e92f-9486-45ad-a1e3-b02e4e00bf7cPROCESSOR0 sec1merged0d4dff594-70e0-4d02-8620-e68afd8e684df5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB01375.1673094034688504.18606310434381375.1673094034688554.1860631043438f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac6360c55a-a0e3-4fd9-ab55-f5910c6932c6PROCESSOR0 sec1failure0bb162957-16b6-4818-882a-1767dd49b86cf5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac63500cda-60fc-433e-9d34-0250c7fe57baPROCESSOR0 sec1success08554ca84-cc2a-4ad2-ae0d-840b1b6f46fff5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044acd0e55145-6505-48ec-b5bd-272100e70f46PROCESSOR0 sec1matched0cbd79ce4-aa7f-47d5-ae7e-665279a4c3c0f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac3ee301f8-d1b6-4d09-9d10-2060632e9db0PROCESSOR0 sec1success0717511b2-0372-418f-b344-a864a5c306a3f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac6360c55a-a0e3-4fd9-ab55-f5910c6932c6PROCESSOR0 sec1merged0865fcabf-5b5c-4e2e-8d1d-1fc509a5ddb1f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044acd3c85c30-7a66-4351-96b7-0cbd4ff8e809PROCESSOR0 sec1tweet0fe96993e-137d-4282-94bf-a3e9ce176367f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac0 MB0f5ca9391-0f9a-4e95-8a27-3aa3a2d044acf6327477-fb7d-4af0-a2c2-1ee50e03249ePROCESSOR0 sec1tweet0d0e55145-6505-48ec-b5bd-272100e70f46f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac-101.12229263071927415.77229159831415WARN2TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Routing StrategyA copy of the FlowFile will be routed to each relationship whose corresponding expression evaluates to 'true'Route to Property nameRoute to Property nameRequires that all user-defined expressions evaluate to 'true' for the FlowFile to be considered a matchRoute to 'matched' if all matchRoute to 'match' if all matchRequires that at least one user-defined expression evaluate to 'true' for hte FlowFile to be considered a matchRoute to 'matched' if any matchesRoute to 'match' if any matchesRoute to Property nameSpecifies how to determine which relationship to use when evaluating the Expression LanguageRouting StrategyfalseRouting Strategytruefalsefalsetweettweettruetweetfalsefalsetruefalse30 secRouting StrategyRoute to Property nametweet${twitter.msg:isEmpty():not()}250 secTIMER_DRIVEN1 secFind only TweetsfalsetweettrueFlowFiles that do not match any user-define expression will be routed hereunmatchedSTOPPEDtruetrueorg.apache.nifi.processors.standard.RouteOnAttributef6327477-fb7d-4af0-a2c2-1ee50e03249ef5ca9391-0f9a-4e95-8a27-3aa3a2d044ac467.54397601551534126.61621687404391WARN1TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Solr TypeA SolrCloud instance.CloudCloudA stand-alone Solr instance.StandardStandardStandardThe type of Solr instance, Cloud or Standard.Solr TypefalseSolr TypetruefalsefalseSolr LocationThe Solr url for a Solr Type of Standard (ex: http://localhost:8984/solr/gettingstarted), or the ZooKeeper hosts for a Solr Type of Cloud (ex: localhost:9983).Solr LocationfalseSolr LocationtruefalsefalseCollectionThe Solr collection name, only used with a Solr Type of CloudCollectionfalseCollectionfalsefalsetrueContent Stream Path/update/json/docsThe path in Solr to post the ContentStreamContent Stream PathfalseContent Stream PathtruefalsetrueContent-Typeapplication/jsonContent-Type being sent to SolrContent-TypefalseContent-TypetruefalsetrueCommit WithinThe number of milliseconds before the given update is committedCommit WithinfalseCommit Withinfalsefalsetruef.1Specifies the value to send for the 'f.1' request parameterf.1truef.1falsefalsetruef.10Specifies the value to send for the 'f.10' request parameterf.10truef.10falsefalsetruef.11Specifies the value to send for the 'f.11' request parameterf.11truef.11falsefalsetruef.2Specifies the value to send for the 'f.2' request parameterf.2truef.2falsefalsetruef.3Specifies the value to send for the 'f.3' request parameterf.3truef.3falsefalsetruef.4Specifies the value to send for the 'f.4' request parameterf.4truef.4falsefalsetruef.5Specifies the value to send for the 'f.5' request parameterf.5truef.5falsefalsetruef.6Specifies the value to send for the 'f.6' request parameterf.6truef.6falsefalsetruef.7Specifies the value to send for the 'f.7' request parameterf.7truef.7falsefalsetruef.8Specifies the value to send for the 'f.8' request parameterf.8truef.8falsefalsetruef.9Specifies the value to send for the 'f.9' request parameterf.9truef.9falsefalsetruesplitSpecifies the value to send for the 'split' request parametersplittruesplitfalsefalsetruefalse30 secSolr TypeCloudSolr Locationlocalhost:2181CollectiontweetsContent Stream Path/update/json/docsContent-Typeapplication/jsonCommit Within1000f.1id:/idf.10coordinates_s:/coordinatesf.11place_s:/placef.2text_t:/textf.3screenName_s:/user/screen_namef.4language_s:/langf.5twitter_created_at_dt:/created_atf.6tag_ss:/entities/hashtagsf.7originalposter_s:/retweeted_status/user/screen_namef.8source_s:/sourcef.9geo_s:/geosplit/00 secTIMER_DRIVEN1 secPutSolrContentStreamtrueFlowFiles that failed because Solr is unreachableconnection_failuretrueFlowFiles that failed for any reason other than Solr being unreachablefailuretrueThe original FlowFilesuccessSTOPPEDfalsetrueorg.apache.nifi.processors.solr.PutSolrContentStream6f28e92f-9486-45ad-a1e3-b02e4e00bf7cf5ca9391-0f9a-4e95-8a27-3aa3a2d044ac459.41607100345675468.6240270576958WARN1TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?DirectoryThe directory to which files should be written. You may use expression language such as /aa/bb/${path}DirectoryfalseDirectorytruefalsetrueConflict Resolution StrategyreplacereplaceignoreignorefailfailfailIndicates what should happen when a file with the same name already exists in the output directoryConflict Resolution StrategyfalseConflict Resolution StrategytruefalsefalseCreate Missing DirectoriestruetruefalsefalsetrueIf true, then missing destination directories will be created. If false, flowfiles are penalized and sent to failure.Create Missing DirectoriesfalseCreate Missing DirectoriestruefalsefalseMaximum File CountSpecifies the maximum number of files that can exist in the output directoryMaximum File CountfalseMaximum File CountfalsefalsefalseLast Modified TimeSets the lastModifiedTime on the output file to the value of this attribute. Format must be yyyy-MM-dd'T'HH:mm:ssZ. You may also use expression language such as ${file.lastModifiedTime}.Last Modified TimefalseLast Modified TimefalsefalsetruePermissionsSets the permissions on the output file to the value of this attribute. Format must be either UNIX rwxrwxrwx with a - in place of denied permissions (e.g. rw-r--r--) or an octal number (e.g. 644). You may also use expression language such as ${file.permissions}.PermissionsfalsePermissionsfalsefalsetrueOwnerSets the owner on the output file to the value of this attribute. You may also use expression language such as ${file.owner}.OwnerfalseOwnerfalsefalsetrueGroupSets the group on the output file to the value of this attribute. You may also use expression language such as ${file.group}.GroupfalseGroupfalsefalsetruefalse30 secDirectory/tmp/tweetsConflict Resolution StrategyfailCreate Missing DirectoriestrueMaximum File CountLast Modified TimePermissionsOwnerGroup00 secTIMER_DRIVEN1 secPutFiletrueFiles that could not be written to the output directory for some reason are transferred to this relationshipfailuretrueFiles that have been successfully written to the output directory are transferred to this relationshipsuccessSTOPPEDfalsetrueorg.apache.nifi.processors.standard.PutFile6360c55a-a0e3-4fd9-ab55-f5910c6932c6f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac966.1673094034688479.1860631043438WARN1TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Hadoop Configuration ResourcesA file or comma separated list of files which contains the Hadoop file system configuration. Without this, Hadoop will search the classpath for a 'core-site.xml' and 'hdfs-site.xml' file or will revert to a default configuration.Hadoop Configuration ResourcesfalseHadoop Configuration ResourcesfalsefalsefalseKerberos PrincipalKerberos principal to authenticate as. Requires nifi.kerberos.krb5.file to be set in your nifi.propertiesKerberos PrincipalfalseKerberos PrincipalfalsefalsefalseKerberos KeytabKerberos keytab associated with the principal. Requires nifi.kerberos.krb5.file to be set in your nifi.propertiesKerberos KeytabfalseKerberos KeytabfalsefalsefalseKerberos Relogin Period4 hoursPeriod of time which should pass before attempting a kerberos reloginKerberos Relogin PeriodfalseKerberos Relogin PeriodfalsefalsefalseDirectoryThe parent HDFS directory to which files should be writtenDirectoryfalseDirectorytruefalsetrueConflict Resolution StrategyreplacereplaceignoreignorefailfailfailIndicates what should happen when a file with the same name already exists in the output directoryConflict Resolution StrategyfalseConflict Resolution StrategytruefalsefalseBlock SizeSize of each block as written to HDFS. This overrides the Hadoop ConfigurationBlock SizefalseBlock SizefalsefalsefalseIO Buffer SizeAmount of memory to use to buffer file contents during IO. This overrides the Hadoop ConfigurationIO Buffer SizefalseIO Buffer SizefalsefalsefalseReplicationNumber of times that HDFS will replicate each file. This overrides the Hadoop ConfigurationReplicationfalseReplicationfalsefalsefalsePermissions umaskA umask represented as an octal number which determines the permissions of files written to HDFS. This overrides the Hadoop Configuration dfs.umaskmodePermissions umaskfalsePermissions umaskfalsefalsefalseRemote OwnerChanges the owner of the HDFS file to this value after it is written. This only works if NiFi is running as a user that has HDFS super user privilege to change ownerRemote OwnerfalseRemote OwnerfalsefalsefalseRemote GroupChanges the group of the HDFS file to this value after it is written. This only works if NiFi is running as a user that has HDFS super user privilege to change groupRemote GroupfalseRemote GroupfalsefalsefalseCompression codecNONENONEDEFAULTDEFAULTBZIPBZIPGZIPGZIPLZ4LZ4SNAPPYSNAPPYAUTOMATICAUTOMATICNONECompression codecfalseCompression codectruefalsefalsefalse30 secHadoop Configuration Resources/etc/hadoop/conf/core-site.xmlKerberos PrincipalKerberos KeytabKerberos Relogin PeriodDirectory/tmp/tweets_stagingConflict Resolution StrategyreplaceBlock SizeIO Buffer SizeReplication1Permissions umaskRemote OwnerRemote GroupCompression codec00 secTIMER_DRIVEN1 secPutHDFSfalseFiles that could not be written to HDFS for some reason are transferred to this relationshipfailuretrueFiles that have been successfully written to HDFS are transferred to this relationshipsuccessSTOPPEDfalsetrueorg.apache.nifi.processors.hadoop.PutHDFS2c9405dd-f5cf-41eb-a4e6-5eeb1070d658f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac-101.8350917029849-66.59999615192999WARN1TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Twitter EndpointThe endpoint that provides public data, aka a 'garden hose'Sample EndpointSample EndpointThe endpoint that provides access to all tweetsFirehose EndpointFirehose EndpointEndpoint that allows the stream to be filtered by specific terms or User IDsFilter EndpointFilter EndpointSample EndpointSpecifies which endpoint data should be pulled fromTwitter EndpointfalseTwitter EndpointtruefalsefalseConsumer KeyThe Consumer Key provided by TwitterConsumer KeyfalseConsumer KeytruefalsefalseConsumer SecretThe Consumer Secret provided by TwitterConsumer SecretfalseConsumer SecrettruetruefalseAccess TokenThe Access Token provided by TwitterAccess TokenfalseAccess TokentruefalsefalseAccess Token SecretThe Access Token Secret provided by TwitterAccess Token SecretfalseAccess Token SecrettruetruefalseLanguagesA comma-separated list of languages for which tweets should be fetchedLanguagesfalseLanguagesfalsefalsefalseTerms to Filter OnA comma-separated list of terms to filter on. Ignored unless Endpoint is set to 'Filter Endpoint'. The filter works such that if any term matches, the status update will be retrieved; multiple terms separated by a space function as an 'AND'. I.e., 'it was, hello' will retrieve status updates that have either 'hello' or both 'it' AND 'was'Terms to Filter OnfalseTerms to Filter OnfalsefalsefalseIDs to FollowA comma-separated list of Twitter User ID's to follow. Ignored unless Endpoint is set to 'Filter Endpoint'.IDs to FollowfalseIDs to FollowfalsefalsefalseLocations to Filter OnA comma-separated list of coordinates specifying one or more bounding boxes to filter on.Each bounding box is specified by a pair of coordinates in the format: swLon,swLat,neLon,neLat. Multiple bounding boxes can be specified as such: swLon1,swLat1,neLon1,neLat1,swLon2,swLat2,neLon2,neLat2.Ignored unless Endpoint is set to 'Filter Endpoint'.Locations to Filter OnfalseLocations to Filter Onfalsefalsefalsefalse30 secTwitter EndpointFilter EndpointConsumer Keyg28NxesU1Vpk12IBXCnIWs2UrConsumer SecretAccess Token2885109412-UDQfXEUV2cQTYqCIbnsU7JtYqOaAksJCi6gbMgSAccess Token SecretLanguagesTerms to Filter OnAAPL,ORCL,GOOG,MSFT,DELLIDs to FollowLocations to Filter On00 secTIMER_DRIVEN1 secGrab Garden HosefalseAll status updates will be routed to this relationshipsuccessSTOPPEDfalsetrueorg.apache.nifi.processors.twitter.GetTwitterd3c85c30-7a66-4351-96b7-0cbd4ff8e809f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac347.4908657243287331.2840828508703WARN1TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Regular Expression(?s:^.*$)The Search Value to search for in the FlowFile content. Only used for 'Literal Replace' and 'Regex Replace' matching strategiesSearch ValuefalseRegular ExpressiontruefalsetrueReplacement Value$1The value to insert using the 'Replacement Strategy'. Using "Regex Replace" back-references to Regular Expression capturing groups are supported, but back-references that reference capturing groups that do not exist in the regular expression will be treated as literal value. Back References may also be referenced using the Expression Language, as '$1', '$2', etc. The single-tick marks MUST be included, as these variables are not "Standard" attribute names (attribute names must be quoted unless they contain only numbers, letters, and _).Replacement ValuefalseReplacement ValuetruefalsetrueCharacter SetUTF-8The Character Set in which the file is encodedCharacter SetfalseCharacter SettruefalsefalseMaximum Buffer Size1 MBSpecifies the maximum amount of data to buffer (per file or per line, depending on the Evaluation Mode) in order to apply the replacement. If 'Entire Text' (in Evaluation Mode) is selected and the FlowFile is larger than this value, the FlowFile will be routed to 'failure'. In 'Line-by-Line' Mode, if a single line is larger than this value, the FlowFile will be routed to 'failure'. A default value of 1 MB is provided, primarily for 'Entire Text' mode. In 'Line-by-Line' Mode, a value such as 8 KB or 16 KB is suggested. This value is ignored if the <Replacement Strategy> property is set to one of: Append, Prepend, Always ReplaceMaximum Buffer SizefalseMaximum Buffer SizetruefalsefalseReplacement StrategyInsert the Replacement Value at the beginning of the FlowFile or the beginning of each line (depending on the Evaluation Mode). For "Line-by-Line" Evaluation Mode, the value will be prepended to each line. For "Entire Text" evaluation mode, the value will be prepended to the entire text.PrependPrependInsert the Replacement Value at the end of the FlowFile or the end of each line (depending on the Evluation Mode). For "Line-by-Line" Evaluation Mode, the value will be appended to each line. For "Entire Text" evaluation mode, the value will be appended to the entire text.AppendAppendInterpret the Search Value as a Regular Expression and replace all matches with the Replacement Value. The Replacement Value may reference Capturing Groups used in the Search Value by using a dollar-sign followed by the Capturing Group number, such as $1 or $2. If the Search Value is set to .* then everything is replaced without even evaluating the Regular Expression.Regex ReplaceRegex ReplaceSearch for all instances of the Search Value and replace the matches with the Replacement Value.Literal ReplaceLiteral ReplaceAlways replaces the entire line or the entire contents of the FlowFile (depending on the value of the <Evaluation Mode> property) and does not bother searching for any value. When this strategy is chosen, the <Search Value> property is ignored.Always ReplaceAlways ReplaceRegex ReplaceThe strategy for how and what to replace within the FlowFile's text content.Replacement StrategyfalseReplacement StrategytruefalsefalseEvaluation ModeLine-by-LineLine-by-LineEntire textEntire textEntire textRun the 'Replacement Strategy' against each line separately (Line-by-Line) or buffer the entire file into memory (Entire Text) and run against that.Evaluation ModefalseEvaluation Modetruefalsefalsefalse30 secRegular Expression(?s:^(.*)$)Replacement Value${twitter.tweet_id}|${twitter.unixtime}|${twitter.time}|${twitter.handle}|${twitter.msg:replace('$',''):replace('\n','')}|$1Character SetUTF-8Maximum Buffer Size1 MBReplacement StrategyEvaluation ModeEntire text00 secTIMER_DRIVEN1 secReplaceTexttrueFlowFiles that could not be updated are routed to this relationshipfailurefalseFlowFiles that have been successfully processed are routed to this relationship. This includes both FlowFiles that had text replaced and those that did not.successSTOPPEDtruetrueorg.apache.nifi.processors.standard.ReplaceText3ee301f8-d1b6-4d09-9d10-2060632e9db0f5ca9391-0f9a-4e95-8a27-3aa3a2d044ac-110.79999648814115181.37032931804072ERROR4TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Destinationflowfile-contentflowfile-contentflowfile-attributeflowfile-attributeflowfile-contentIndicates whether the results of the JsonPath evaluation are written to the FlowFile content or a FlowFile attribute; if using attribute, must specify the Attribute Name property. If set to flowfile-content, only one JsonPath may be specified, and the property name is ignored.DestinationfalseDestinationtruefalsefalseReturn Typeauto-detectauto-detectjsonjsonscalarscalarauto-detectIndicates the desired return type of the JSON Path expressions. Selecting 'auto-detect' will set the return type to 'json' for a Destination of 'flowfile-content', and 'scalar' for a Destination of 'flowfile-attribute'.Return TypefalseReturn TypetruefalsefalsePath Not Found BehaviorwarnwarnignoreignoreignoreIndicates how to handle missing JSON path expressions when destination is set to 'flowfile-attribute'. Selecting 'warn' will generate a warning when a JSON path expression is not found.Path Not Found BehaviorfalsePath Not Found BehaviortruefalsefalseNull Value Representationthe string 'null'the string 'null'empty stringempty stringempty stringIndicates the desired representation of JSON Path expressions resulting in a null value.Null Value RepresentationfalseNull Value Representationtruefalsefalselanguagelanguagetruelanguagefalsefalsefalsetwitter.handletwitter.handletruetwitter.handlefalsefalsefalsetwitter.hashtagstwitter.hashtagstruetwitter.hashtagsfalsefalsefalsetwitter.msgtwitter.msgtruetwitter.msgfalsefalsefalsetwitter.timetwitter.timetruetwitter.timefalsefalsefalsetwitter.tweet_idtwitter.tweet_idtruetwitter.tweet_idfalsefalsefalsetwitter.unixtimetwitter.unixtimetruetwitter.unixtimefalsefalsefalsetwitter.usertwitter.usertruetwitter.userfalsefalsefalsefalse30 secDestinationflowfile-attributeReturn Typeauto-detectPath Not Found BehaviorignoreNull Value Representationempty stringlanguage$.langtwitter.handle$.user.screen_nametwitter.hashtags$.entities.hashtags[0].texttwitter.msg$.texttwitter.time$.created_attwitter.tweet_id$.idtwitter.unixtime$.timestamp_mstwitter.user$.user.name250 secTIMER_DRIVEN1 secPull Key AttributestrueFlowFiles are routed to this relationship when the JsonPath cannot be evaluated against the content of the FlowFile; for instance, if the FlowFile is not valid JSONfailurefalseFlowFiles are routed to this relationship when the JsonPath is successfully evaluated and the FlowFile is modified as a resultmatchedtrueFlowFiles are routed to this relationship when the JsonPath does not match the content of the FlowFile and the Destination is set to flowfile-contentunmatchedSTOPPEDtruetrueorg.apache.nifi.processors.standard.EvaluateJsonPath63500cda-60fc-433e-9d34-0250c7fe57baf5ca9391-0f9a-4e95-8a27-3aa3a2d044ac890.901616061057285.4346310401422WARN1TIMER_DRIVEN1EVENT_DRIVEN0CRON_DRIVEN1TIMER_DRIVEN0 secCRON_DRIVEN* * * * * ?Merge StrategyGenerates 'bins' of FlowFiles and fills each bin as full as possible. FlowFiles are placed into a bin based on their size and optionally their attributes (if the <Correlation Attribute> property is set)Bin-Packing AlgorithmBin-Packing AlgorithmCombines fragments that are associated by attributes back into a single cohesive FlowFile. If using this strategy, all FlowFiles must have the attributes <fragment.identifier>, <fragment.count>, and <fragment.index> or alternatively (for backward compatibility purposes) <segment.identifier>, <segment.count>, and <segment.index>. All FlowFiles with the same value for "fragment.identifier" will be grouped together. All FlowFiles in this group must have the same value for the "fragment.count" attribute. All FlowFiles in this group must have a unique value for the "fragment.index" attribute between 0 and the value of the "fragment.count" attribute.DefragmentDefragmentBin-Packing AlgorithmSpecifies the algorithm used to merge content. The 'Defragment' algorithm combines fragments that are associated by attributes back into a single cohesive FlowFile. The 'Bin-Packing Algorithm' generates a FlowFile populated by arbitrarily chosen FlowFilesMerge StrategyfalseMerge StrategytruefalsefalseMerge FormatA bin of FlowFiles will be combined into a single TAR file. The FlowFiles' <path> attribute will be used to create a directory in the TAR file if the <Keep Paths> property is set to true; otherwise, all FlowFiles will be added at the root of the TAR file. If a FlowFile has an attribute named <tar.permissions> that is 3 characters, each between 0-7, that attribute will be used as the TAR entry's 'mode'.TARTARA bin of FlowFiles will be combined into a single ZIP file. The FlowFiles' <path> attribute will be used to create a directory in the ZIP file if the <Keep Paths> property is set to true; otherwise, all FlowFiles will be added at the root of the ZIP file. The <Compression Level> property indicates the ZIP compression to use.ZIPZIPA bin of FlowFiles will be combined into a single Version 3 FlowFile StreamFlowFile Stream, v3FlowFile Stream, v3A bin of FlowFiles will be combined into a single Version 2 FlowFile StreamFlowFile Stream, v2FlowFile Stream, v2A bin of FlowFiles will be combined into a single Version 1 FlowFile PackageFlowFile Tar, v1FlowFile Tar, v1The contents of all FlowFiles will be concatenated together into a single FlowFileBinary ConcatenationBinary ConcatenationThe Avro contents of all FlowFiles will be concatenated together into a single FlowFileAvroAvroBinary ConcatenationDetermines the format that will be used to merge the content.Merge FormatfalseMerge FormattruefalsefalseAttribute StrategyKeep Only Common AttributesKeep Only Common AttributesKeep All Unique AttributesKeep All Unique AttributesKeep Only Common AttributesDetermines which FlowFile attributes should be added to the bundle. If 'Keep All Unique Attributes' is selected, any attribute on any FlowFile that gets bundled will be kept unless its value conflicts with the value from another FlowFile. If 'Keep Only Common Attributes' is selected, only the attributes that exist on all FlowFiles in the bundle, with the same value, will be preserved.Attribute StrategyfalseAttribute StrategytruefalsefalseCorrelation Attribute NameIf specified, like FlowFiles will be binned together, where 'like FlowFiles' means FlowFiles that have the same value for this Attribute. If not specified, FlowFiles are bundled by the order in which they are pulled from the queue.Correlation Attribute NamefalseCorrelation Attribute NamefalsefalsefalseMinimum Number of Entries1The minimum number of files to include in a bundleMinimum Number of EntriesfalseMinimum Number of EntriestruefalsefalseMaximum Number of EntriesThe maximum number of files to include in a bundle. If not specified, there is no maximum.Maximum Number of EntriesfalseMaximum Number of EntriesfalsefalsefalseMinimum Group Size0 BThe minimum size of for the bundleMinimum Group SizefalseMinimum Group SizetruefalsefalseMaximum Group SizeThe maximum size for the bundle. If not specified, there is no maximum.Maximum Group SizefalseMaximum Group SizefalsefalsefalseMax Bin AgeThe maximum age of a Bin that will trigger a Bin to be complete. Expected format is <duration> <time unit> where <duration> is a positive integer and time unit is one of seconds, minutes, hoursMax Bin AgefalseMax Bin AgefalsefalsefalseMaximum number of Bins100Specifies the maximum number of bins that can be held in memory at any one timeMaximum number of BinsfalseMaximum number of BinstruefalsefalseDelimiter StrategyThe values of Header, Footer, and Demarcator will be retrieved from the contents of a fileFilenameFilenameThe values of Header, Footer, and Demarcator will be specified as property valuesTextTextFilenameDetermines if Header, Footer, and Demarcator should point to files containing the respective content, or if the values of the properties should be used as the content.Delimiter StrategyfalseDelimiter StrategytruefalsefalseHeader FileFilename specifying the header to use. If not specified, no header is supplied. This property is valid only when using the binary-concatenation merge strategy; otherwise, it is ignored.HeaderfalseHeader FilefalsefalsetrueFooter FileFilename specifying the footer to use. If not specified, no footer is supplied. This property is valid only when using the binary-concatenation merge strategy; otherwise, it is ignored.FooterfalseFooter FilefalsefalsetrueDemarcator FileFilename specifying the demarcator to use. If not specified, no demarcator is supplied. This property is valid only when using the binary-concatenation merge strategy; otherwise, it is ignored.DemarcatorfalseDemarcator FilefalsefalsetrueCompression Level001122334455667788991Specifies the compression level to use when using the Zip Merge Format; if not using the Zip Merge Format, this value is ignoredCompression LevelfalseCompression LeveltruefalsefalseKeep PathtruetruefalsefalsefalseIf using the Zip or Tar Merge Format, specifies whether or not the FlowFiles' paths should be included in their entry names; if using other merge strategy, this value is ignoredKeep PathfalseKeep Pathtruefalsefalsefalse30 secMerge StrategyBin-Packing AlgorithmMerge FormatBinary ConcatenationAttribute StrategyKeep Only Common AttributesCorrelation Attribute NameMinimum Number of Entries20Maximum Number of Entries1000Minimum Group Size0 BMaximum Group SizeMax Bin Age120 secondsMaximum number of Bins100Delimiter StrategyFilenameHeader FileFooter FileDemarcator FileCompression Level1Keep Pathfalse00 secTIMER_DRIVEN1 secMergeContenttrueIf the bundle cannot be created, all FlowFiles that would have been used to created the bundle will be transferred to failurefailurefalseThe FlowFile containing the merged contentmergedtrueThe FlowFiles that were used to create the bundleoriginalSTOPPEDfalsetrueorg.apache.nifi.processors.standard.MergeContent0001Twitter Dashboard - Push tweets into HDFS/Solr07c84501d-d10c-407c-b9f3-1d80e38fe36aNiFi Flow0701/12/2016 22:19:53 UTC