Return-Path: Sends the contents of a FlowFile as a message to Apache Kafka using the Kafka 0.9.x Producer. The messages to send may be individual FlowFiles or may be delimited, using a user-specified delimiter, such as a new-line. Please note there are cases where the publisher can get into an indefinite stuck state. We are closely monitoring how this evolves in the Kafka community and will take advantage of those fixes as soon as we can. In the mean time it is possible to enter states where the only resolution will be to restart the JVM NiFi runs on. The complementa
ry NiFi processor for fetching messages is ConsumeKafka. Apache, Kafka, Put, Send, Message, PubSub, 0.9.x In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language. Dynamic Properties allow the user to specify both the name and value of a property.PublishKafka
Description:
Tags:
Properties:
Name Default Value Allowable Values Description Kafka Brokers localhost:9092 A comma-separated list of known Kafka Brokers in the format <host>:<port>
Supports Expression Language: trueSecurity Protocol PLAINTEXT Protocol used to communicate with brokers. Corresponds to Kafka's 'security.protocol' property. Kerberos Service Name The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config. Corresponds to Kafka's 'security.protocol' property.It is ignored unless one of the SASL options of the <
;Security Protocol> are selected. SSL Context Service Controller Service API:
SSLContextService
Implementations: StandardSSLContextService
StandardRestrictedSSLContextServiceSpecifies the SSL Context Service to use for communicating with Kafka. Topic Name The name of the Kafka Topic to publish to.
Supports Expression Language: trueDelivery Guarantee 0 Specifies the requirement for guaranteeing that a message is sent to Kafka. Corresponds to Kafka's 'acks' property. Kafka Key The Key to use for the Message. If not specified, the flow file attribute 'kafka.key' is used as the message key, if it is present and we're not demarcating.
Supports Expression Language: trueKey Attribute Encoding utf-8 FlowFiles that are emitted have an attribute named 'kafka.key'. This property dictates how the value of the attribute should be encoded. Message Demarcator Specifies the string (interpreted as UTF-8) to use for demarcating multiple messages within a single FlowFi
le. If not specified, the entire content of the FlowFile will be used as a single message. If specified, the contents of the FlowFile will be split on this delimiter and each section sent as a separate Kafka message. To enter special character such as 'new line' use CTRL+Enter or Shift+Enter, depending on your OS.
Supports Expression Language: trueMax Request Size 1 MB The maximum size of a request in bytes. Corresponds to Kafka's 'max.request.size' property and defaults to 1 MB (1048576). Acknowledgment Wait Time 5 secs After sending a message to Kafka, this indicates the amount of time that we are willing to wait for a response from Kafka. If Kafka does not acknowledge the message within this time period, the
FlowFile will be routed to 'failure'. Max Metadata Wait Time 5 sec The amount of time publisher will wait to obtain metadata or wait for the buffer to flush during the 'send' call before failing the entire 'send' call. Corresponds to Kafka's 'max.block.ms' property
Supports Expression Language: truePartitioner class org.apache.kafka.clients.producer.internals.DefaultPartitioner Specifies which class to use to compute a partition id for a message. Corresponds to Kafka's 'partitioner.class' property. Compression Type none This parameter allows you to specify the compression codec for all data generated by this producer. Dynamic Properties:
Name Value Description The name of a Kafka configura
tion property. The value of a given Kafka configuration property. These properties will be added on the Kafka configuration after loading any provided configuration properties. In the event a dynamic property represents a property that was already set, its value will be ignored and WARN message logged. For the list of available Kafka properties please refer to: http://kafka.apache.org/documentation.html#configuration.
Name | Description |
---|---|
success | FlowFiles for which all content was sent to Kafka. |
failure | Any FlowFile that cannot be sent to Kafka will be routed to this Relationship |
Name | Description |
---|---|
msg.count | The number of messages that were sent to Kafka for this FlowFil e. This attribute is added only to FlowFiles that are routed to success. If the <Message Demarcator> Property is not set, this will always be 1, but if the Property is set, it may be greater than 1. |
This processor is used to convert data between two Avro formats, such as those coming from the ConvertCSVToAvro
or
+ ConvertJSONToAvro
processors. The input and output content of the flow files should be Avro data files. The processor
+ includes support for the following basic type conversions:
+
+ Throughout this example, we will refer to input data with the following schema: +
+{ + "type": "record", + "name": "CustomerInput", + "namespace": "org.apache.example", + "fields": [ + { + "name": "id", + "type": "string" + }, + { + "name": "companyName", + "type": ["null", "string"], + "default": null + }, + { + "name": "revenue", + "type": ["null", "string"], + "default": null + }, + { + "name" : "parent", + "type" : [ "null", { + "type" : "record", + "name" : "parent", + "fields" : [ { + "name" : "name", + "type" : ["null", "string"], + "default" : null + }, { + "name" : "id", + "type" : "string" + } ] + } ], + "default" : null + } + ] +} ++ Where even though the revenue and id fields are mapped as string, they are logically long and double respectively. + By default, fields with matching names will be mapped automatically, so the following output schema could be converted + without using dynamic properties: +
+{ + "type": "record", + "name": "SimpleCustomerOutput", + "namespace": "org.apache.example", + "fields": [ + { + "name": "id", + "type": "long" + }, + { + "name": "companyName", + "type": ["null", "string"], + "default": null + }, + { + "name": "revenue", + "type": ["null", "double"], + "default": null + } + ] +} ++ To rename companyName to name and to extract the parent's id field, both a schema and a dynamic properties must be provided. + For example, to convert to the following schema: +
+{ + "type": "record", + "name": "SimpleCustomerOutput", + "namespace": "org.apache.example", + "fields": [ + { + "name": "id", + "type": "long" + }, + { + "name": "name", + "type": ["null", "string"], + "default": null + }, + { + "name": "revenue", + "type": ["null", "double"], + "default": null + }, + { + "name": "parentId", + "type": ["null", "long"], + "default": null + } + ] +} ++ The following dynamic properties would be used: +
+"companyName" -> "name" +"parent.id" -> "parentId" ++ + + Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-kite-nar/1.4.0/org.apache.nifi.processors.kite.ConvertAvroSchema/index.html URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-kite-nar/1.4.0/org.apache.nifi.processors.kite.ConvertAvroSchema/index.html?rev=1811008&view=auto ============================================================================== --- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-kite-nar/1.4.0/org.apache.nifi.processors.kite.ConvertAvroSchema/index.html (added) +++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-kite-nar/1.4.0/org.apache.nifi.processors.kite.ConvertAvroSchema/index.html Tue Oct 3 13:30:16 2017 @@ -0,0 +1 @@ +
Convert records from one Avro schema to another, including support for flattening and simple type conversions
avro, convert, kite
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Languag e.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Input Schema | Avro Schema of Input Flowfiles. This can be a URI (dataset, view, or resource) or literal JSON schema. Supports Expression Language: true | ||
Output Schema | Avro Schema of Output Flowfiles. This can be a URI (dataset, view, or resource) or literal JSON schema. Supports Expression Language: true | ||
Locale | default | Locale to use for scanning data (see https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html)or " default" for JVM default | |
Compression type | SNAPPY |
| Compression type to use when writting Avro files. Default is Snappy. |
Dynamic Properties allow the user to specify both the name and value of a property.
Name | Value | Description |
---|---|---|
Field name from input schema | Field name for output schema | Explicit mappings from input schema to output schema, which supports renaming fields and stepping into nested records on the input schema using notation like parent.id |
Name | Description |
---|---|
success | Avro content that converted successfully |
failure | Avro content that failed to convert |
Converts CSV files to Avro according to an Avro Schema
kite, csv, avro
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Hadoop configuration files | A comma-separated list of Hadoop configuration files | ||
Record schema | Outgoing Avro schema for each record created from a CSV row Supports Expression Language: true | ||
CSV charset | utf8 | Character set for CSV files Supports Expression Language: true | |
CSV delimiter | , | Delimiter character for CSV records Supports Expression Language: true | |
CSV quote character | " |
Quote character for CSV values Supports Expression Language: true | |
CSV escape character | \ | Escape character for CSV values Supports Expression Language: true | |
Use CSV header line | false | Whether to use the first line as a header Supports Expression Language: true | |
Lines to skip | 0 | Number of lines to skip before reading header or data Supports Expression Language: true | |
Compression type | SNAPPY |
| Compre ssion type to use when writting Avro files. Default is Snappy. |
Name | Description |
---|---|
success | Avro content that was converted successfully from CSV |
failure | CSV content that could not be processed |
incompatible | CSV content that could not be converted |
Converts JSON files to Avro according to an Avro Schema
kite, json, avro
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Hadoop configuration files | A comma-separated list of Hadoop configuration files | ||
Record schema | Outgoing Avro schema for each record created from a JSON object Supports Expression Language: true | ||
Compression type | SNAPPY |
| Compression type to use when writting Avro files. Default is Snappy. |
Name | Description |
---|---|
success | Avro content that was converted successfully from JSON |
failure | JSON content that could not be processed |
incompatible | JSON content that could not be converted |
Examines the contents of the incoming FlowFile to infer an Avro schema. The processor will use the Kite SDK to make an attempt to automatically generate an Avro schema from the incoming content. When inferring the schema from JSON data the key names will be used in the resulting Avro schema definition. When inferring from CSV data a "header definition" must be present either as the first line of the incoming data or the "header definition" must be explicitly set in the property "CSV Header Definition". A "header definition" is simply a single comma se parated line defining the names of each column. The "header definition" is required in order to determine the names that should be given to each field in the resulting Avro definition. When inferring data types the higher order data type is always used if there is ambiguity. For example when examining numerical values the type may be set to "long" instead of "integer" since a long can safely hold the value of any "integer". Only CSV and JSON content is currently supported for automatically inferring an Avro schema. The type of content present in the incoming FlowFile is set by using the property "Input Content Type". The property can either be explicitly set to CSV, JSON, or "use mime.type value" which will examine the value of the mime.type attribute on the incoming FlowFile to determine the type of content present.
kite, avro, infer, schema, csv, json
In the list below, the names of required properties appear in bold . Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Schema Output Destination | flowfile-content |
| Control if Avro schema is written as a new flowfile attribute 'inferred.avro.schema' or written in the flowfile content. Writing to flowfile content will overwrite any existing flowfile content. |
Input Content Type | use mime.type value |
| Con tent Type of data present in the incoming FlowFile's content. Only "json" or "csv" are supported. If this value is set to "use mime.type value" the incoming Flowfile's attribute "MIME_TYPE" will be used to determine the Content Type. |
CSV Header Definition | This property only applies to CSV content type. Comma separated string defining the column names expected in the CSV data. EX: "fname,lname,zip,address". The elements present in this string should be in the same order as the underlying data. Setting this property will cause the value of "Get CSV Header Definition From Data" to be ignored instead using this value. Supports Expression Language: true | ||
Get CSV Header Definition From Data | true |
| This property only applies to CSV content type. If "true" the processor will attempt to read the CSV header definition from the first line of the input data. |
CSV Header Line Skip Count | 0 | This property only applies to CSV content type. Specifies the number of lines that should be skipped when reading the CSV data. Setting this value to 0 is equivalent to saying "the entire contents of the file should be read". If the property "Get CSV Header Definition From Data" is set then the first line of the CSV file will be read in and treated as the CSV header definition. Since this will remove the header line from the data care should be taken to make sure the value of "CSV header Line Skip Count" is set to 0 to ensure no data is skipped. Supports Expression Language: true | |
CSV delimiter | , | Delimiter character for CSV records Supports Expression Language: true | |
CSV Escape String | \ | This property only applies to CSV content type. String that represents an escape sequence in the CSV FlowFile content data. Supports Expression Language: true | |
CSV Quote String | ' | This property only applies to CSV content type. String that represents a literal quote character in the CSV FlowFile content data. Supports Expression Language: true | |
Pretty Avro Output | true |
| If true th e Avro output will be formatted. |
Avro Record Name | Value to be placed in the Avro record schema "name" field. The value must adhere to the Avro naming rules for fullname. If Expression Language is present then the evaluated value must adhere to the Avro naming rules. Supports Expression Language: true | ||
Number Of Records To Analyze | 10 | This property only applies to JSON content type. The number of JSON records that should be examined to determine the Avro schema. The higher the value the better chance kite has of detecting the appropriate type. However the default value of 10 is almost always enough. Supports Expression Language: true | |
Charset | UTF-8 | Character encoding of CSV data. Supports Expression Language: true |
Name | Description |
---|---|
unsupported content | The content found in the flowfile content is not of the required format. |
success | Successfully created Avro schema from data. |
failure | Failed to create Avro schema from data. |
original | Original incoming FlowFile data |
Name | Description |
---|---|
mime.type | If configured by property "Input Content Type" will use this value to determine what sort of content should be inferred from the incoming FlowFile content. |
Name | De scription |
---|---|
inferred.avro.schema | If configured by "Schema output destination" to write to an attribute this will hold the resulting Avro schema from inferring the incoming FlowFile content. |
Stores Avro records in a Kite dataset
kite, avro, parquet, hadoop, hive, hdfs, hbase
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Descrip tion |
---|---|---|---|
Hadoop configuration files | A comma-separated list of Hadoop configuration files | ||
Target dataset URI | URI that identifies a Kite dataset where data will be stored Supports Expression Language: true |
Name | Description |
---|---|
success | FlowFile content has been successfully saved |
incompatible | FlowFile content is not compatible with the target dataset |
failure | FlowFile content could not be processed |
Reads records from an incoming FlowFile using the provided Record Reader, and writes those records to the specified Kudu's table. The schema for the table must be provided in the processor properties or from your source. If any error occurs while reading records from the input, or writing records to Kudu, the FlowFile will be routed to failure
put, database, NoSQL, kudu, HDFS, record
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered opt ional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Kudu Masters | List all kudu masters's ip with port (e.g. 7051), comma separated Supports Expression Language: true | ||
Table Name | The name of the Kudu Table to put data into Supports Expression Language: true | ||
Skip head line | true |
| Set it to true if your firs t line is the header line e.g. column names |
Record Reader | Controller Service API: RecordReaderFactory Implementations: CSVReader GrokReader AvroReader JsonTreeReader JsonPathReader ScriptedReader | The service for reading records from incoming flow files. | |
Insert Operation | INSERT |
| Specify operationType for this processor. Insert-Ignore will ignore duplicated rows |
Flush Mode | AUTO_FLUSH_BACKGROUND |
| Set the new flush mode for a kudu session. +AUTO_FLUSH_SYNC: the call returns when the operation is persisted, else it throws an exception. +AUTO_FLUSH_BACKGROUND: the call returns when the operation has been added to the buffer. This call should normally perform only fast in-memory operations but it may have to wait when the buffer is full and there's another buffer being flushed. +MANUAL_FLUSH: the call returns when the operation has been added to the buffer, else it throws a KuduException if the buffer is full. |
Batch Size | 100 | Set the number of operations that can be buffered, between 2 - 100000. Depending on your memory size, and data size per row set an appropriate batch size. Gradually increase this number to find out the best one for best performances. Supports Expression Language: true |
Name | Description |
---|---|
success | A FlowFile is routed to this relationship after it has been successfully stored in Kudu |
failure | A FlowFile is routed to this relationship if it cannot be sent to Kudu |
Name | Description |
---|---|
record.count | Number of records written to Kudu |
Translates content and attributes from one language to another
yandex, translate, translation, language
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Yandex API Key | The API Key that is registered with Yandex | ||
Input Language | es | The language of incoming data Supports Expression Language: true | |
Target Language | en | The language to translate the text into Supports Expression Language: true | |
Translate Content | false |
| Specifies whether or not the content should be translated. If false, only the text specified by user-defined properties will be trans lated. |
Character Set | UTF-8 | Specifies the character set of the data to be translated Supports Expression Language: true |
Dynamic Properties allow the user to specify both the name and value of a property.
Name | Value | Description |
---|---|---|
The name of an attribute to set that will contain the translated text of the value | The value to translate | User-defined properties are used to translate arbitrary text based on attributes. Supports Expression Language: true |
Name | Description |
---|---|
translation.failure | This relationship is used if the translation cannot be performed for some reason other than communications failure |
success | This relationship is used when the translation is successful |
comms.failure | This relationship is used when the translation fails due to a problem such as a network failure, and for which the translation should be attempted again |
Name | Description |
---|---|
yandex.translate.failure.reason | If the text cannot be translated, this attribute will be set indicating the reason for the failure |
language | When the translation succeeds, if the content was translated, this attribute will be set indicating the new language of the content |
A reloadable properties file-based lookup service
lookup, cache, enrich, join, properties, reloadable, key, value
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Configuration File | A configuration file Supports Expression Language: true |
A reloadable CSV file-based lookup service
lookup, cache, enrich, join, csv, reloadable, key, value
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | A llowable Values | Description |
---|---|---|---|
CSV File | A CSV file. Supports Expression Language: true | ||
CSV Format | Default |
| Specifies which "format" the CSV data is in, or specifies if custom formatting should be used. |
Lookup Key Column | Lookup key column. Supports Expression Language: true | ||
Lookup Value Column | Lookup value col
umn. Supports Expression Language: true | ||
Ignore Duplicates | true |
| Ignore duplicate keys for records in the CSV file. |
Allows users to add key/value pairs as User-defined Properties. Each property that is added can be looked up by Property Name. The coordinates that are passed to the lookup must contain the key 'key'.
lookup, enrich, key, value
This component has no required or optional properties.
A reloadable XML file-based lookup service. This service uses Apache Commons Configuration. Example XML configuration file and how to access specific configuration can be found at http://commons.apache.org/proper/commons-configuration/userguide/howto_hierarchical.html
lookup, cache, enrich, join, xml, reloadable, key, value
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Configuration File | A configuration file Supports Expression Language: true |
+ The IPLookupService is powered by a MaxMind database and can return several different types of enrichment information
+ about a given IP address. Below is the schema of the Record that is returned by this service (in Avro Schema format).
+ The schema is for a single record that consists of several fields: geo
, isp
,
+ domainName
, connectionType
, and anonymousIp
. Each of these fields is nullable
+ and will be populated only if the IP address that is searched for has the relevant information in the MaxMind database
+ and if the Controller Service is configured to return such information. Because each of the fields requires a separate
+ lookup in the database, it is advisable to retrieve only those fields that are of value.
+
+
+{
+ "name": "enrichmentRecord",
+ "namespace": "nifi",
+ "type": "record",
+ "fields": [
+ {
+ "name": "geo",
+ "type": ["null", {
+ "name": "cityGeo",
+ "type": "record",
+ "fields": [
+ { "name": "city", "type": ["null", "string"] },
+ { "name": "accuracy", "type": ["null", "int"], "doc": "The radius, in kilometers, around the given location, where the IP address is believed to be" },
+ { "name": "metroCode", "type": ["null", "int"] },
+ { "name": "timeZone", "type": ["null", "string"] },
+ { "name": "latitude", "type": ["null", "double"] },
+ { "name": "longitude", "type": ["null", "double"] },
+ { "name": "country", "type": ["null", {
+ "type": "record",
+ "name": "country",
+ "fields": [
+ { "name": "name", "type": "string" },
+ { "name": "isoCode", "type": "string" }
+ ]
+ }] },
+ { "name": "subdivisions", "type": {
+ "type": "array",
+ "items": {
+ "type": "record",
+ "name": "subdivision",
+ "fields": [
+ { "name": "name", "type": "string" },
+ { "name": "isoCode", "type": "string" }
+ ]
+ }
+ }
+ },
+ { "name": "continent", "type": ["null", "string"] },
+ { "name": "postalCode", "type": ["null", "string"] }
+ ]
+ }]
+ },
+ {
+ "name": "isp",
+ "type": ["null", {
+ "name": "ispEnrich",
+ "type": "record",
+ "fields": [
+ { "name": "name", "type": ["null", "string"] },
+ { "name": "organization", "type": ["null", "string"] },
+ { "name": "asn", "type": ["null", "int"] },
+ { "name": "asnOrganization", "type": ["null", "string"] }
+ ]
+ }]
+ },
+ {
+ "name": "domainName",
+ "type": ["null", "string"]
+ },
+ {
+ "name": "connectionType",
+ "type": ["null", "string"],
+ "doc": "One of 'Dialup', 'Cable/DSL', 'Corporate', 'Cellular'"
+ },
+ {
+ "name": "anonymousIp",
+ "type": ["null", {
+ "name": "anonymousIpType",
+ "type": "record",
+ "fields": [
+ { "name": "anonymous", "type": "boolean" },
+ { "name": "anonymousVpn", "type": "boolean" },
+ { "name": "hostingProvider", "type": "boolean" },
+ { "name": "publicProxy", "type": "boolean" },
+ { "name": "torExitNode", "type": "boolean" }
+ ]
+ }]
+ }
+ ]
+}
+
+
+
+
+ + While this schema is fairly complex, it is a single record with 5 fields. This makes it quite easy to update + an existing schema to allow for this record, by adding a new field to an existing schema and pasting in the schema + above as the type. +
+ ++ For example, suppose that we have an existing schema that is as simple as: +
+ +
+
+
+{
+ "name": "ipRecord",
+ "namespace": "nifi",
+ "type": "record",
+ "fields": [
+ { "name": "ip", "type": "string" }
+ ]
+}
+
+
+
+
+
+ Now, let's suppose that we want to add a new field named enrichment
to the above schema.
+ Further, let's say that we want the new enrichment
field to be nullable.
+ We can do so by copying and pasting our enrichment schema from above thus:
+
+
+
+{
+ "name": "ipRecord",
+ "namespace": "nifi",
+ "type": "record",
+ "fields": [
+ { "name": "ip", "type": "string" },
+ { "name": "enrichment", "type": ["null",
+
+
+ <Paste Enrichment Schema Here>
+
+
+ ]
+ }
+ ]
+}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-lookup-services-nar/1.4.0/org.apache.nifi.lookup.maxmind.IPLookupService/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-lookup-services-nar/1.4.0/org.apache.nifi.lookup.maxmind.IPLookupService/index.html?rev=1811008&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-lookup-services-nar/1.4.0/org.apache.nifi.lookup.maxmind.IPLookupService/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-lookup-services-nar/1.4.0/org.apache.nifi.lookup.maxmind.IPLookupService/index.html Tue Oct 3 13:30:16 2017
@@ -0,0 +1 @@
+A lookup service that provides several types of enrichment information for IP addresses. The service is configured by providing a MaxMind Database file and specifying which types of enrichment should be provided for an IP Address or Hostname. Each type of enrichment is a separate lookup, so configuring the service to provide all of the available enrichment data may be slower than returning only a portion of the available enrichments. In order to use this service, a lookup must be performed using key of 'ip' and a value that is a valid IP address or ho stname. View the Usage of this component and choose to view Additional Details for more information, such as the Schema that pertains to the information that is returned.
lookup, enrich, ip, geo, ipgeo, maxmind, isp, domain, cellular, anonymous, tor
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
MaxMind Database File | Path to Maxmind IP Enrichment Database File Suppo rts Expression Language: true | ||
Lookup Geo Enrichment | true |
| Specifies whether or not information about the geographic information, such as cities, corresponding to the IP address should be returned |
Lookup ISP | false |
| Specifies whether or not information about the Information Service Provider corresponding to the IP address should be returned |
Lookup Domain Name | false |
| Specifies whether or not information about the Domain Name corresponding to the IP address should be returned. If true, the lookup will contain second-level domain information, such as foo.com but will not contain bar.foo.com |
Lookup Connection Type | false |
| Specifies whether or not information about the Connection Type corresponding to the IP address should be returned. If true, the lookup will contain a 'connectionType' field that (if populated) will contain a value of 'Dialup', 'Cable/DSL', 'Corporate', or 'Cellular' |
Lookup Anonymous IP Information | false |
| Specifies whether or not information about whether or not the IP address belongs to an anonymous network should be returned. |
This processor is deprecated and may be removed in the near future. Listens for Lumberjack messages being sent to a given port over TCP. Each message will be acknowledged after successfully writing the message to a FlowFile. Each FlowFile will contain data portion of one or more Lumberjack frames. In the case where the Lumberjack frames contain syslog messages, the output of this processor can be sent to a ParseSyslog processor for further processing.
listen, lumberjack, tcp, logs
In the list below, t he names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Local Network Interface | The name of a local network interface to be used to restrict listening to a specific LAN. Supports Expression Language: true | ||
Port | The port to listen on for communication. | ||
Receive Buffer Size | 65507 B | The size of each buffer used to receive messages. Adjust this value appropriately based on the expected size of the incoming messages. | |
Max Size of Message Queue | 10000 | The maximum size of the internal queue used to buffer messages being transferred from the underlying channel to the processor. Setting this value higher allows more messages to be buffered in memory during surges of incoming messages, but increases the total memory used by the processor. | |
Max Size of Socket Buffer | 1 MB | The maximum size of the socket buffer that should be used. This is a suggestion to the Operating System to indicate how big the socket buffer should be. If this value is set too low, the buffer may fill up before the data can be read, and i ncoming data will be dropped. | |
Character Set | UTF-8 | Specifies the character set of the received data. | |
Max Batch Size | 1 | The maximum number of messages to add to a single FlowFile. If multiple messages are available, they will be concatenated along with the <Message Delimiter> up to this configured maximum number of messages | |
Batching Message Delimiter | \n | Specifies the delimiter to place between messages when multiple messages are bundled together (see <Max Batch Size> property). | |
Max Number of TCP Connections | 2 | The maximum number of concurrent TCP connections to accept. | |
SSL Context Service | Controller Service API: RestrictedSSLContextService Implementation: StandardRestrictedSSLContextService | The Controller Service to use in order to obtain an SSL Context. If this property is set, messages will be received over a secure connection. Note that as Lumberjack client requirestwo-way SSL authentication, the controller MUST have a truststore and a keystore to workproperly. |
Name | Description |
---|---|
success | Messages received successfully will be sent out this relationship. |
Name | Description |
---|---|
lumberjack.sender | The sending host of the messages. |
lumberjack.port | The sending port the messages were received over. |
lumberjack.sequencenumber | The sequence number of the message. Only included if <Batch Size> is 1. |
lumberjack.* | The keys and respective values as sent by the lumberjack producer. Only included if <Batch Size> is 1. |
mime.type | The mime.type of the content which is text/plain |
Extract the image metadata from flowfiles containing images. This processor relies on this metadata extractor library https://github.com/drewnoakes/metadata-extractor. It extracts a long list of metadata types including but not limited to EXIF, IPTC, XMP and Photoshop fields. For the full list visit the library's website.NOTE: The library being used loads the images into memory so extremely large images may cause problems.
Exif, Exchangeable, image, file, format, JPG, GIF, PNG, BMP, metadata, IPTC, XMP
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Max Number of Attributes | Specify the max number of attributes to add to the flowfile. There is no guarantee in what order the tags will be processed. By default it will process all of them. |
Name | Description |
---|---|
success | Any FlowFile that successfully has image metadata extracted will be routed to success |
failure | Any FlowFile that fails to have image metadata extracted will be routed to failure |
Name | Description |
---|---|
<directory name>.<tag name> | The extracted image metadata will be inserted with the attribute name "<directory name>.<tag name>". |
Resizes an image to user-specified dimensions. This Processor uses the image codecs registered with the environment that NiFi is running in. By default, this includes JPEG, PNG, BMP, WBMP, and GIF images.
resize, image, jpg, jpeg, png, bmp, wbmp, gif
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
---|---|---|---|
Image Width (in pixels) | The desired number of pixels for the image's width Supports Expression Language: true | ||
Image Height (in pixels) | The desired number of pixels for the image's height Supports Expression Language: true | ||
Scaling Algorithm | Default |
| Specifies which algorithm should be used to resize the image |
Name | Description |
---|---|
success | A FlowFile is routed to this relationship if it is successfully resized |
A FlowFile is routed to this relationship if it is not in the specified format |