Skip to content

Instantly share code, notes, and snippets.

@alopresto
Created May 22, 2017 22:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alopresto/beb62a15c82c6d68528474085b1a9610 to your computer and use it in GitHub Desktop.
Save alopresto/beb62a15c82c6d68528474085b1a9610 to your computer and use it in GitHub Desktop.
An Apache NiFi flow used to test the addition of a `ScriptedLookupRecord` component.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flowController encoding-version="1.1">
<maxTimerDrivenThreadCount>10</maxTimerDrivenThreadCount>
<maxEventDrivenThreadCount>5</maxEventDrivenThreadCount>
<rootGroup>
<id>21c4d984-015c-1000-7c5f-95366fc0810e</id>
<name>NiFi Flow</name>
<position x="0.0" y="0.0"/>
<comment/>
<processor>
<id>21c949ee-015c-1000-7387-586615906556</id>
<name>SplitRecord</name>
<position x="319.0" y="284.0"/>
<styles/>
<comment/>
<class>org.apache.nifi.processors.standard.SplitRecord</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-standard-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<maxConcurrentTasks>1</maxConcurrentTasks>
<schedulingPeriod>0 sec</schedulingPeriod>
<penalizationPeriod>30 sec</penalizationPeriod>
<yieldPeriod>1 sec</yieldPeriod>
<bulletinLevel>WARN</bulletinLevel>
<lossTolerant>false</lossTolerant>
<scheduledState>STOPPED</scheduledState>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<executionNode>ALL</executionNode>
<runDurationNanos>0</runDurationNanos>
<property>
<name>Record Reader</name>
<value>21c83474-015c-1000-bc45-cdd941d43a78</value>
</property>
<property>
<name>Record Writer</name>
<value>21c84c1a-015c-1000-66c3-76b973f1e6fb</value>
</property>
<property>
<name>Records Per Split</name>
<value>1</value>
</property>
<autoTerminatedRelationship>failure</autoTerminatedRelationship>
<autoTerminatedRelationship>original</autoTerminatedRelationship>
</processor>
<processor>
<id>21c61e6b-015c-1000-6d13-8014e4d966e2</id>
<name>LookupRecord</name>
<position x="319.0" y="508.0"/>
<styles/>
<comment/>
<class>org.apache.nifi.processors.standard.LookupRecord</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-standard-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<maxConcurrentTasks>1</maxConcurrentTasks>
<schedulingPeriod>0 sec</schedulingPeriod>
<penalizationPeriod>30 sec</penalizationPeriod>
<yieldPeriod>1 sec</yieldPeriod>
<bulletinLevel>WARN</bulletinLevel>
<lossTolerant>false</lossTolerant>
<scheduledState>STOPPED</scheduledState>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<executionNode>ALL</executionNode>
<runDurationNanos>0</runDurationNanos>
<property>
<name>record-reader</name>
<value>21c83474-015c-1000-bc45-cdd941d43a78</value>
</property>
<property>
<name>record-writer</name>
<value>21c84c1a-015c-1000-66c3-76b973f1e6fb</value>
</property>
<property>
<name>lookup-service</name>
<value>21c90792-015c-1000-60fb-2b5fa9a74a2e</value>
</property>
<property>
<name>lookup-record-path</name>
<value>/position</value>
</property>
<property>
<name>result-record-path</name>
<value>/position</value>
</property>
<property>
<name>routing-strategy</name>
<value>route-to-success</value>
</property>
<autoTerminatedRelationship>failure</autoTerminatedRelationship>
</processor>
<processor>
<id>21c59b5a-015c-1000-8f5b-2f982f4d0ab7</id>
<name>GenerateFlowFile</name>
<position x="319.0" y="52.0"/>
<styles/>
<comment/>
<class>org.apache.nifi.processors.standard.GenerateFlowFile</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-standard-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<maxConcurrentTasks>1</maxConcurrentTasks>
<schedulingPeriod>1 sec</schedulingPeriod>
<penalizationPeriod>30 sec</penalizationPeriod>
<yieldPeriod>1 sec</yieldPeriod>
<bulletinLevel>WARN</bulletinLevel>
<lossTolerant>false</lossTolerant>
<scheduledState>STOPPED</scheduledState>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<executionNode>ALL</executionNode>
<runDurationNanos>0</runDurationNanos>
<property>
<name>File Size</name>
<value>0B</value>
</property>
<property>
<name>Batch Size</name>
<value>1</value>
</property>
<property>
<name>Data Format</name>
<value>Text</value>
</property>
<property>
<name>Unique FlowFiles</name>
<value>false</value>
</property>
<property>
<name>generate-ff-custom-text</name>
<value>number,name,position
39,Andy LoPresto,LW
13,Coop LoPresto,F
13,Phil LoPresto,C
11,Will Davis,D
30,Mikey Peters,G</value>
</property>
</processor>
<processor>
<id>21ead79e-015c-1000-862d-c5c4fe5571c3</id>
<name>ConvertRecord</name>
<position x="319.0" y="710.0"/>
<styles/>
<comment/>
<class>org.apache.nifi.processors.standard.ConvertRecord</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-standard-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<maxConcurrentTasks>1</maxConcurrentTasks>
<schedulingPeriod>0 sec</schedulingPeriod>
<penalizationPeriod>30 sec</penalizationPeriod>
<yieldPeriod>1 sec</yieldPeriod>
<bulletinLevel>WARN</bulletinLevel>
<lossTolerant>false</lossTolerant>
<scheduledState>STOPPED</scheduledState>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<executionNode>ALL</executionNode>
<runDurationNanos>0</runDurationNanos>
<property>
<name>record-reader</name>
<value>21c83474-015c-1000-bc45-cdd941d43a78</value>
</property>
<property>
<name>record-writer</name>
<value>21eb63b1-015c-1000-1f8b-c1473c104997</value>
</property>
</processor>
<processor>
<id>21c63e2d-015c-1000-4b98-6c5c3c6f8de5</id>
<name>LogAttribute</name>
<position x="877.0" y="507.0"/>
<styles/>
<comment/>
<class>org.apache.nifi.processors.standard.LogAttribute</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-standard-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<maxConcurrentTasks>1</maxConcurrentTasks>
<schedulingPeriod>0 sec</schedulingPeriod>
<penalizationPeriod>30 sec</penalizationPeriod>
<yieldPeriod>1 sec</yieldPeriod>
<bulletinLevel>WARN</bulletinLevel>
<lossTolerant>false</lossTolerant>
<scheduledState>STOPPED</scheduledState>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<executionNode>ALL</executionNode>
<runDurationNanos>0</runDurationNanos>
<property>
<name>Log Level</name>
<value>info</value>
</property>
<property>
<name>Log Payload</name>
<value>true</value>
</property>
<property>
<name>Attributes to Log</name>
</property>
<property>
<name>Attributes to Ignore</name>
</property>
<property>
<name>Log prefix</name>
</property>
<autoTerminatedRelationship>success</autoTerminatedRelationship>
</processor>
<connection>
<id>21c99379-015c-1000-d9da-c0baa23a0ec5</id>
<name/>
<bendPoints/>
<labelIndex>1</labelIndex>
<zIndex>0</zIndex>
<sourceId>21c949ee-015c-1000-7387-586615906556</sourceId>
<sourceGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</sourceGroupId>
<sourceType>PROCESSOR</sourceType>
<destinationId>21c61e6b-015c-1000-6d13-8014e4d966e2</destinationId>
<destinationGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</destinationGroupId>
<destinationType>PROCESSOR</destinationType>
<relationship>splits</relationship>
<maxWorkQueueSize>10000</maxWorkQueueSize>
<maxWorkQueueDataSize>1 GB</maxWorkQueueDataSize>
<flowFileExpiration>0 sec</flowFileExpiration>
</connection>
<connection>
<id>21c7bfb2-015c-1000-9463-7d3928fcf15f</id>
<name/>
<bendPoints/>
<labelIndex>1</labelIndex>
<zIndex>0</zIndex>
<sourceId>21c59b5a-015c-1000-8f5b-2f982f4d0ab7</sourceId>
<sourceGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</sourceGroupId>
<sourceType>PROCESSOR</sourceType>
<destinationId>21c949ee-015c-1000-7387-586615906556</destinationId>
<destinationGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</destinationGroupId>
<destinationType>PROCESSOR</destinationType>
<relationship>success</relationship>
<maxWorkQueueSize>10000</maxWorkQueueSize>
<maxWorkQueueDataSize>1 GB</maxWorkQueueDataSize>
<flowFileExpiration>0 sec</flowFileExpiration>
</connection>
<connection>
<id>21c7d479-015c-1000-a453-17d4197cf1e0</id>
<name/>
<bendPoints/>
<labelIndex>1</labelIndex>
<zIndex>0</zIndex>
<sourceId>21c61e6b-015c-1000-6d13-8014e4d966e2</sourceId>
<sourceGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</sourceGroupId>
<sourceType>PROCESSOR</sourceType>
<destinationId>21ead79e-015c-1000-862d-c5c4fe5571c3</destinationId>
<destinationGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</destinationGroupId>
<destinationType>PROCESSOR</destinationType>
<relationship>success</relationship>
<maxWorkQueueSize>10000</maxWorkQueueSize>
<maxWorkQueueDataSize>1 GB</maxWorkQueueDataSize>
<flowFileExpiration>0 sec</flowFileExpiration>
</connection>
<connection>
<id>21eb24e0-015c-1000-3f58-68ef8bdc6daf</id>
<name/>
<bendPoints/>
<labelIndex>1</labelIndex>
<zIndex>0</zIndex>
<sourceId>21ead79e-015c-1000-862d-c5c4fe5571c3</sourceId>
<sourceGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</sourceGroupId>
<sourceType>PROCESSOR</sourceType>
<destinationId>21c63e2d-015c-1000-4b98-6c5c3c6f8de5</destinationId>
<destinationGroupId>21c4d984-015c-1000-7c5f-95366fc0810e</destinationGroupId>
<destinationType>PROCESSOR</destinationType>
<relationship>failure</relationship>
<relationship>success</relationship>
<maxWorkQueueSize>10000</maxWorkQueueSize>
<maxWorkQueueDataSize>1 GB</maxWorkQueueDataSize>
<flowFileExpiration>0 sec</flowFileExpiration>
</connection>
<controllerService>
<id>21e189a4-015c-1000-a0b0-4c3cb5311c6b</id>
<name>AvroSchemaRegistry</name>
<comment/>
<class>org.apache.nifi.schemaregistry.services.AvroSchemaRegistry</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-registry-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<enabled>true</enabled>
<property>
<name>hockey</name>
<value>{"type": "record", "name": "hockey", "fields": [{"name": "number", "type":"int"}, {"name": "name", "type": "string"}, {"name": "position", "type": "string"}]}</value>
</property>
</controllerService>
<controllerService>
<id>21c90792-015c-1000-60fb-2b5fa9a74a2e</id>
<name>ScriptedLookupService</name>
<comment/>
<class>org.apache.nifi.lookup.script.ScriptedLookupService</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-scripting-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<enabled>true</enabled>
<property>
<name>Script Engine</name>
<value>Groovy</value>
</property>
<property>
<name>Script File</name>
<value>/Users/alopresto/Workspace/scratch/NIFI-3938/lookup_inline.groovy</value>
</property>
<property>
<name>Script Body</name>
</property>
<property>
<name>Module Directory</name>
</property>
</controllerService>
<controllerService>
<id>21eb63b1-015c-1000-1f8b-c1473c104997</id>
<name>JsonRecordSetWriter</name>
<comment/>
<class>org.apache.nifi.json.JsonRecordSetWriter</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-record-serialization-services-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<enabled>true</enabled>
<property>
<name>Schema Write Strategy</name>
<value>schema-name</value>
</property>
<property>
<name>schema-access-strategy</name>
<value>schema-name</value>
</property>
<property>
<name>schema-registry</name>
<value>21e189a4-015c-1000-a0b0-4c3cb5311c6b</value>
</property>
<property>
<name>schema-name</name>
<value>hockey</value>
</property>
<property>
<name>schema-text</name>
<value>${avro.schema}</value>
</property>
<property>
<name>Date Format</name>
</property>
<property>
<name>Time Format</name>
</property>
<property>
<name>Timestamp Format</name>
</property>
<property>
<name>Pretty Print JSON</name>
<value>true</value>
</property>
</controllerService>
<controllerService>
<id>21c83474-015c-1000-bc45-cdd941d43a78</id>
<name>CSVReader</name>
<comment/>
<class>org.apache.nifi.csv.CSVReader</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-record-serialization-services-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<enabled>true</enabled>
<property>
<name>schema-access-strategy</name>
<value>csv-header-derived</value>
</property>
<property>
<name>schema-registry</name>
<value>21e189a4-015c-1000-a0b0-4c3cb5311c6b</value>
</property>
<property>
<name>schema-name</name>
<value>hockey</value>
</property>
<property>
<name>schema-text</name>
<value>${avro.schema}</value>
</property>
<property>
<name>Date Format</name>
</property>
<property>
<name>Time Format</name>
</property>
<property>
<name>Timestamp Format</name>
</property>
<property>
<name>CSV Format</name>
<value>custom</value>
</property>
<property>
<name>Value Separator</name>
<value>,</value>
</property>
<property>
<name>Skip Header Line</name>
<value>true</value>
</property>
<property>
<name>Quote Character</name>
<value>"</value>
</property>
<property>
<name>Escape Character</name>
<value>\</value>
</property>
<property>
<name>Comment Marker</name>
</property>
<property>
<name>Null String</name>
</property>
<property>
<name>Trim Fields</name>
<value>true</value>
</property>
</controllerService>
<controllerService>
<id>21c84c1a-015c-1000-66c3-76b973f1e6fb</id>
<name>CSVRecordSetWriter</name>
<comment/>
<class>org.apache.nifi.csv.CSVRecordSetWriter</class>
<bundle>
<group>org.apache.nifi</group>
<artifact>nifi-record-serialization-services-nar</artifact>
<version>1.3.0-SNAPSHOT</version>
</bundle>
<enabled>true</enabled>
<property>
<name>Schema Write Strategy</name>
<value>schema-name</value>
</property>
<property>
<name>schema-access-strategy</name>
<value>schema-name</value>
</property>
<property>
<name>schema-registry</name>
<value>21e189a4-015c-1000-a0b0-4c3cb5311c6b</value>
</property>
<property>
<name>schema-name</name>
<value>hockey</value>
</property>
<property>
<name>schema-text</name>
<value>${avro.schema}</value>
</property>
<property>
<name>Date Format</name>
</property>
<property>
<name>Time Format</name>
</property>
<property>
<name>Timestamp Format</name>
</property>
<property>
<name>CSV Format</name>
<value>custom</value>
</property>
<property>
<name>Value Separator</name>
<value>,</value>
</property>
<property>
<name>Include Header Line</name>
<value>true</value>
</property>
<property>
<name>Quote Character</name>
<value>"</value>
</property>
<property>
<name>Escape Character</name>
<value>\</value>
</property>
<property>
<name>Comment Marker</name>
</property>
<property>
<name>Null String</name>
</property>
<property>
<name>Trim Fields</name>
<value>true</value>
</property>
<property>
<name>Quote Mode</name>
<value>MINIMAL</value>
</property>
<property>
<name>Record Separator</name>
<value>\n</value>
</property>
<property>
<name>Include Trailing Delimiter</name>
<value>false</value>
</property>
</controllerService>
</rootGroup>
<controllerServices/>
<reportingTasks/>
</flowController>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment