Created on 04-08-2019 05:49 PM - edited 08-17-2019 04:05 PM
The XML that I have is as follows:
<?xml version="1.0" encoding="UTF-8"?> <dataService> <dataOutput> <fltdMessage acid="QXE2828" airline="QXE" arrArpt="KSJC" cdmPart="false" depArpt="KPAE" fdTrigger="HCS_TRACK_MSG" flightRef="97606500" msgType="trackInformation" sensitivity="A" sourceFacility="KZSE" sourceTimeStamp="2019-04-05T16:44:30Z"> <trackInformation> <qualifiedAircraftId> <aircraftId>QXE2828</aircraftId> <computerId> <facilityIdentifier>KZSE</facilityIdentifier> <idNumber>657</idNumber> </computerId> <gufi>KS49063601</gufi> <igtd>2019-04-05T15:30:00Z</igtd> <departurePoint> <airport>KPAE</airport> </departurePoint> <arrivalPoint> <airport>KSJC</airport> </arrivalPoint> </qualifiedAircraftId> <speed>378</speed> <reportedAltitude> <assignedAltitude> <simpleAltitude>330C</simpleAltitude> </assignedAltitude> </reportedAltitude> <position> <latitude> <latitudeDMS degrees="41" direction="NORTH" minutes="14" seconds="14" /> </latitude> <longitude> <longitudeDMS degrees="122" direction="WEST" minutes="49" seconds="03" /> </longitude> </position> <timeAtPosition>2019-04-05T16:44:30Z</timeAtPosition> <ncsmTrackData> <eta etaType="ESTIMATED" timeValue="2019-04-05T17:29:51Z" /> <rvsmData currentCompliance="true" equipped="true" futureCompliance="true" /> <arrivalFixAndTime arrTime="2019-04-05T17:13:34Z" fixName="ZINNN" /> <nextEvent latitudeDecimal="39.125619878405274" longitudeDecimal="-122.59562140202789" /> </ncsmTrackData> </trackInformation> </fltdMessage> </dataOutput> </dataService>
I'd like to generate the AVRO spec for this so that I can use ConvertRecord with an XMLReader. Is there an easy way to do this?
The InferAvroSchema processor does not seem to support this structure, as can be seen by the "unsupported content" in the following. I belive this processor only supports csv and json.
So I think I need to find another means to generate the AVRO schema.
I think this may be close. I converted XML to JSON then I inferred the AVRO schema from the JSON. However this does not work as the AVRO schema for converting the XML directly.
{ "type" : "record", "name" : "nice", "fields" : [ { "name" : "dataService", "type" : { "type" : "record", "name" : "dataService", "fields" : [ { "name" : "dataOutput", "type" : { "type" : "record", "name" : "dataService", "namespace" : "dataOutput", "fields" : [ { "name" : "fltdMessage", "type" : { "type" : "record", "name" : "dataService", "namespace" : "fltdMessage.dataOutput", "fields" : [ { "name" : "acid", "type" : "string", "doc" : "Type inferred from '\"QXE2828\"'" }, { "name" : "airline", "type" : "string", "doc" : "Type inferred from '\"QXE\"'" }, { "name" : "arrArpt", "type" : "string", "doc" : "Type inferred from '\"KSJC\"'" }, { "name" : "cdmPart", "type" : "boolean", "doc" : "Type inferred from 'false'" }, { "name" : "depArpt", "type" : "string", "doc" : "Type inferred from '\"KPAE\"'" }, { "name" : "fdTrigger", "type" : "string", "doc" : "Type inferred from '\"HCS_TRACK_MSG\"'" }, { "name" : "flightRef", "type" : "int", "doc" : "Type inferred from '97606500'" }, { "name" : "msgType", "type" : "string", "doc" : "Type inferred from '\"trackInformation\"'" }, { "name" : "sensitivity", "type" : "string", "doc" : "Type inferred from '\"A\"'" }, { "name" : "sourceFacility", "type" : "string", "doc" : "Type inferred from '\"KZSE\"'" }, { "name" : "sourceTimeStamp", "type" : "string", "doc" : "Type inferred from '\"2019-04-05T16:44:30Z\"'" }, { "name" : "trackInformation", "type" : { "type" : "record", "name" : "dataService", "namespace" : "trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "qualifiedAircraftId", "type" : { "type" : "record", "name" : "dataService", "namespace" : "qualifiedAircraftId.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "aircraftId", "type" : "string", "doc" : "Type inferred from '\"QXE2828\"'" }, { "name" : "computerId", "type" : { "type" : "record", "name" : "dataService", "namespace" : "computerId.qualifiedAircraftId.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "facilityIdentifier", "type" : "string", "doc" : "Type inferred from '\"KZSE\"'" }, { "name" : "idNumber", "type" : "int", "doc" : "Type inferred from '657'" } ] }, "doc" : "Type inferred from '{\"facilityIdentifier\":\"KZSE\",\"idNumber\":657}'" }, { "name" : "gufi", "type" : "string", "doc" : "Type inferred from '\"KS49063601\"'" }, { "name" : "igtd", "type" : "string", "doc" : "Type inferred from '\"2019-04-05T15:30:00Z\"'" }, { "name" : "departurePoint", "type" : { "type" : "record", "name" : "dataService", "namespace" : "departurePoint.qualifiedAircraftId.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "airport", "type" : "string", "doc" : "Type inferred from '\"KPAE\"'" } ] }, "doc" : "Type inferred from '{\"airport\":\"KPAE\"}'" }, { "name" : "arrivalPoint", "type" : { "type" : "record", "name" : "dataService", "namespace" : "arrivalPoint.qualifiedAircraftId.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "airport", "type" : "string", "doc" : "Type inferred from '\"KSJC\"'" } ] }, "doc" : "Type inferred from '{\"airport\":\"KSJC\"}'" } ] }, "doc" : "Type inferred from '{\"aircraftId\":\"QXE2828\",\"computerId\":{\"facilityIdentifier\":\"KZSE\",\"idNumber\":657},\"gufi\":\"KS49063601\",\"igtd\":\"2019-04-05T15:30:00Z\",\"departurePoint\":{\"airport\":\"KPAE\"},\"arrivalPoint\":{\"airport\":\"KSJC\"}}'" }, { "name" : "speed", "type" : "int", "doc" : "Type inferred from '378'" }, { "name" : "reportedAltitude", "type" : { "type" : "record", "name" : "dataService", "namespace" : "reportedAltitude.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "assignedAltitude", "type" : { "type" : "record", "name" : "dataService", "namespace" : "assignedAltitude.reportedAltitude.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "simpleAltitude", "type" : "string", "doc" : "Type inferred from '\"330C\"'" } ] }, "doc" : "Type inferred from '{\"simpleAltitude\":\"330C\"}'" } ] }, "doc" : "Type inferred from '{\"assignedAltitude\":{\"simpleAltitude\":\"330C\"}}'" }, { "name" : "position", "type" : { "type" : "record", "name" : "dataService", "namespace" : "position.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "latitude", "type" : { "type" : "record", "name" : "dataService", "namespace" : "latitude.position.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "latitudeDMS", "type" : { "type" : "record", "name" : "dataService", "namespace" : "latitudeDMS.latitude.position.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "degrees", "type" : "int", "doc" : "Type inferred from '41'" }, { "name" : "direction", "type" : "string", "doc" : "Type inferred from '\"NORTH\"'" }, { "name" : "minutes", "type" : "int", "doc" : "Type inferred from '14'" }, { "name" : "seconds", "type" : "int", "doc" : "Type inferred from '14'" } ] }, "doc" : "Type inferred from '{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}'" } ] }, "doc" : "Type inferred from '{\"latitudeDMS\":{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}}'" }, { "name" : "longitude", "type" : { "type" : "record", "name" : "dataService", "namespace" : "longitude.position.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "longitudeDMS", "type" : { "type" : "record", "name" : "dataService", "namespace" : "longitudeDMS.longitude.position.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "degrees", "type" : "int", "doc" : "Type inferred from '122'" }, { "name" : "direction", "type" : "string", "doc" : "Type inferred from '\"WEST\"'" }, { "name" : "minutes", "type" : "int", "doc" : "Type inferred from '49'" }, { "name" : "seconds", "type" : "string", "doc" : "Type inferred from '\"03\"'" } ] }, "doc" : "Type inferred from '{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}'" } ] }, "doc" : "Type inferred from '{\"longitudeDMS\":{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}}'" } ] }, "doc" : "Type inferred from '{\"latitude\":{\"latitudeDMS\":{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}},\"longitude\":{\"longitudeDMS\":{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}}}'" }, { "name" : "timeAtPosition", "type" : "string", "doc" : "Type inferred from '\"2019-04-05T16:44:30Z\"'" }, { "name" : "ncsmTrackData", "type" : { "type" : "record", "name" : "dataService", "namespace" : "ncsmTrackData.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "eta", "type" : { "type" : "record", "name" : "dataService", "namespace" : "eta.ncsmTrackData.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "etaType", "type" : "string", "doc" : "Type inferred from '\"ESTIMATED\"'" }, { "name" : "timeValue", "type" : "string", "doc" : "Type inferred from '\"2019-04-05T17:29:51Z\"'" } ] }, "doc" : "Type inferred from '{\"etaType\":\"ESTIMATED\",\"timeValue\":\"2019-04-05T17:29:51Z\"}'" }, { "name" : "rvsmData", "type" : { "type" : "record", "name" : "dataService", "namespace" : "rvsmData.ncsmTrackData.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "currentCompliance", "type" : "boolean", "doc" : "Type inferred from 'true'" }, { "name" : "equipped", "type" : "boolean", "doc" : "Type inferred from 'true'" }, { "name" : "futureCompliance", "type" : "boolean", "doc" : "Type inferred from 'true'" } ] }, "doc" : "Type inferred from '{\"currentCompliance\":true,\"equipped\":true,\"futureCompliance\":true}'" }, { "name" : "arrivalFixAndTime", "type" : { "type" : "record", "name" : "dataService", "namespace" : "arrivalFixAndTime.ncsmTrackData.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "arrTime", "type" : "string", "doc" : "Type inferred from '\"2019-04-05T17:13:34Z\"'" }, { "name" : "fixName", "type" : "string", "doc" : "Type inferred from '\"ZINNN\"'" } ] }, "doc" : "Type inferred from '{\"arrTime\":\"2019-04-05T17:13:34Z\",\"fixName\":\"ZINNN\"}'" }, { "name" : "nextEvent", "type" : { "type" : "record", "name" : "dataService", "namespace" : "nextEvent.ncsmTrackData.trackInformation.fltdMessage.dataOutput", "fields" : [ { "name" : "latitudeDecimal", "type" : "double", "doc" : "Type inferred from '39.125619878405274'" }, { "name" : "longitudeDecimal", "type" : "double", "doc" : "Type inferred from '-122.59562140202789'" } ] }, "doc" : "Type inferred from '{\"latitudeDecimal\":39.125619878405274,\"longitudeDecimal\":-122.59562140202789}'" } ] }, "doc" : "Type inferred from '{\"eta\":{\"etaType\":\"ESTIMATED\",\"timeValue\":\"2019-04-05T17:29:51Z\"},\"rvsmData\":{\"currentCompliance\":true,\"equipped\":true,\"futureCompliance\":true},\"arrivalFixAndTime\":{\"arrTime\":\"2019-04-05T17:13:34Z\",\"fixName\":\"ZINNN\"},\"nextEvent\":{\"latitudeDecimal\":39.125619878405274,\"longitudeDecimal\":-122.59562140202789}}'" } ] }, "doc" : "Type inferred from '{\"qualifiedAircraftId\":{\"aircraftId\":\"QXE2828\",\"computerId\":{\"facilityIdentifier\":\"KZSE\",\"idNumber\":657},\"gufi\":\"KS49063601\",\"igtd\":\"2019-04-05T15:30:00Z\",\"departurePoint\":{\"airport\":\"KPAE\"},\"arrivalPoint\":{\"airport\":\"KSJC\"}},\"speed\":378,\"reportedAltitude\":{\"assignedAltitude\":{\"simpleAltitude\":\"330C\"}},\"position\":{\"latitude\":{\"latitudeDMS\":{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}},\"longitude\":{\"longitudeDMS\":{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}}},\"timeAtPosition\":\"2019-04-05T16:44:30Z\",\"ncsmTrackData\":{\"eta\":{\"etaType\":\"ESTIMATED\",\"timeValue\":\"2019-04-05T17:29:51Z\"},\"rvsmData\":{\"currentCompliance\":true,\"equipped\":true,\"futureCompliance\":true},\"arrivalFixAndTime\":{\"arrTime\":\"2019-04-05T17:13:34Z\",\"fixName\":\"ZINNN\"},\"nextEvent\":{\"latitudeDecimal\":39.125619878405274,\"longitudeDecimal\":-122.59562140202789}}}'" } ] }, "doc" : "Type inferred from '{\"acid\":\"QXE2828\",\"airline\":\"QXE\",\"arrArpt\":\"KSJC\",\"cdmPart\":false,\"depArpt\":\"KPAE\",\"fdTrigger\":\"HCS_TRACK_MSG\",\"flightRef\":97606500,\"msgType\":\"trackInformation\",\"sensitivity\":\"A\",\"sourceFacility\":\"KZSE\",\"sourceTimeStamp\":\"2019-04-05T16:44:30Z\",\"trackInformation\":{\"qualifiedAircraftId\":{\"aircraftId\":\"QXE2828\",\"computerId\":{\"facilityIdentifier\":\"KZSE\",\"idNumber\":657},\"gufi\":\"KS49063601\",\"igtd\":\"2019-04-05T15:30:00Z\",\"departurePoint\":{\"airport\":\"KPAE\"},\"arrivalPoint\":{\"airport\":\"KSJC\"}},\"speed\":378,\"reportedAltitude\":{\"assignedAltitude\":{\"simpleAltitude\":\"330C\"}},\"position\":{\"latitude\":{\"latitudeDMS\":{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}},\"longitude\":{\"longitudeDMS\":{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}}},\"timeAtPosition\":\"2019-04-05T16:44:30Z\",\"ncsmTrackData\":{\"eta\":{\"etaType\":\"ESTIMATED\",\"timeValue\":\"2019-04-05T17:29:51Z\"},\"rvsmData\":{\"currentCompliance\":true,\"equipped\":true,\"futureCompliance\":true},\"arrivalFixAndTime\":{\"arrTime\":\"2019-04-05T17:13:34Z\",\"fixName\":\"ZINNN\"},\"nextEvent\":{\"latitudeDecimal\":39.125619878405274,\"longitudeDecimal\":-122.59562140202789}}}}'" } ] }, "doc" : "Type inferred from '{\"fltdMessage\":{\"acid\":\"QXE2828\",\"airline\":\"QXE\",\"arrArpt\":\"KSJC\",\"cdmPart\":false,\"depArpt\":\"KPAE\",\"fdTrigger\":\"HCS_TRACK_MSG\",\"flightRef\":97606500,\"msgType\":\"trackInformation\",\"sensitivity\":\"A\",\"sourceFacility\":\"KZSE\",\"sourceTimeStamp\":\"2019-04-05T16:44:30Z\",\"trackInformation\":{\"qualifiedAircraftId\":{\"aircraftId\":\"QXE2828\",\"computerId\":{\"facilityIdentifier\":\"KZSE\",\"idNumber\":657},\"gufi\":\"KS49063601\",\"igtd\":\"2019-04-05T15:30:00Z\",\"departurePoint\":{\"airport\":\"KPAE\"},\"arrivalPoint\":{\"airport\":\"KSJC\"}},\"speed\":378,\"reportedAltitude\":{\"assignedAltitude\":{\"simpleAltitude\":\"330C\"}},\"position\":{\"latitude\":{\"latitudeDMS\":{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}},\"longitude\":{\"longitudeDMS\":{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}}},\"timeAtPosition\":\"2019-04-05T16:44:30Z\",\"ncsmTrackData\":{\"eta\":{\"etaType\":\"ESTIMATED\",\"timeValue\":\"2019-04-05T17:29:51Z\"},\"rvsmData\":{\"currentCompliance\":true,\"equipped\":true,\"futureCompliance\":true},\"arrivalFixAndTime\":{\"arrTime\":\"2019-04-05T17:13:34Z\",\"fixName\":\"ZINNN\"},\"nextEvent\":{\"latitudeDecimal\":39.125619878405274,\"longitudeDecimal\":-122.59562140202789}}}}}'" } ] }, "doc" : "Type inferred from '{\"dataOutput\":{\"fltdMessage\":{\"acid\":\"QXE2828\",\"airline\":\"QXE\",\"arrArpt\":\"KSJC\",\"cdmPart\":false,\"depArpt\":\"KPAE\",\"fdTrigger\":\"HCS_TRACK_MSG\",\"flightRef\":97606500,\"msgType\":\"trackInformation\",\"sensitivity\":\"A\",\"sourceFacility\":\"KZSE\",\"sourceTimeStamp\":\"2019-04-05T16:44:30Z\",\"trackInformation\":{\"qualifiedAircraftId\":{\"aircraftId\":\"QXE2828\",\"computerId\":{\"facilityIdentifier\":\"KZSE\",\"idNumber\":657},\"gufi\":\"KS49063601\",\"igtd\":\"2019-04-05T15:30:00Z\",\"departurePoint\":{\"airport\":\"KPAE\"},\"arrivalPoint\":{\"airport\":\"KSJC\"}},\"speed\":378,\"reportedAltitude\":{\"assignedAltitude\":{\"simpleAltitude\":\"330C\"}},\"position\":{\"latitude\":{\"latitudeDMS\":{\"degrees\":41,\"direction\":\"NORTH\",\"minutes\":14,\"seconds\":14}},\"longitude\":{\"longitudeDMS\":{\"degrees\":122,\"direction\":\"WEST\",\"minutes\":49,\"seconds\":\"03\"}}},\"timeAtPosition\":\"2019-04-05T16:44:30Z\",\"ncsmTrackData\":{\"eta\":{\"etaType\":\"ESTIMATED\",\"timeValue\":\"2019-04-05T17:29:51Z\"},\"rvsmData\":{\"currentCompliance\":true,\"equipped\":true,\"futureCompliance\":true},\"arrivalFixAndTime\":{\"arrTime\":\"2019-04-05T17:13:34Z\",\"fixName\":\"ZINNN\"},\"nextEvent\":{\"latitudeDecimal\":39.125619878405274,\"longitudeDecimal\":-122.59562140202789}}}}}}'" } ] }
Created 04-08-2019 06:06 PM
As of NiFi 1.9.0 (HDF 3.4), the XMLReader can be configured to infer the schema. If you can't upgrade, you could download NiFi 1.9.0 and run it once to infer the schema and write it to an attribute, then inspect the flow file and copy off the schema for use in your operational NiFi instance. There may also be libraries and/or websites that will infer the Avro schema from the XML file for you.
Created 04-10-2019 02:26 PM
24:40,136 ERROR [Timer-Driven Process Thread-5] o.a.n.p.jolt.record.JoltTransformRecord JoltTransformRecord[id=06fd25cf-016a-1000-780f-11032c386125] Unable to write transformed records StandardFlowFileRecord[uuid=6626d078-5d3d-4156-988f-af57bd8efd7e,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1554901130806-97, container=default, section=97], offset=171543, length=86903],offset=0,name=6626d078-5d3d-4156-988f-af57bd8efd7e,size=86903] due to org.apache.nifi.serialization.record.util.IllegalTypeConversionException: Cannot convert value [MapRecord[{timeAtPosition=2019-04-09T18:24:27Z, reportedAltitude=MapRecord[{assignedAltitude=MapRecord[{simpleAltitude=350}]}], qualifiedAircraftId=MapRecord[{computerId=MapRecord[{facilityIdentifier=CCZM}], gufi=KN44418300, aircraftId=ICL922, departurePoint=MapRecord[{airport=KJFK}], arrivalPoint=MapRecord[{airport=EBLG}], igtd=2019-04-09T17:00:00Z}], ncsmTrackData=MapRecord[{eta=MapRecord[{etaType=ESTIMATED, timeValue=2019-04-09T23:18:14Z}], departureFixAndTime=MapRecord[{fixName=MERIT, arrTime=2019-04-09T17:03:10Z}], nextEvent=MapRecord[{longitudeDecimal=-55.45632194020566, latitudeDecimal=46.91005273931668}], rvsmData=MapRecord[{futureCompliance=true, equipped=true, currentCompliance=true}]}], position=MapRecord[{latitude=MapRecord[{latitudeDMS=MapRecord[{minutes=38, degrees=46, direction=NORTH}]}], longitude=MapRecord[{longitudeDMS=MapRecord[{minutes=32, degrees=056, direction=WEST}]}]}], speed=550}]] of type CHOICE[RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD] to Map for field trackInformation because the type is not supported: org.apache.nifi.serialization.record.util.IllegalTypeConversionException: Cannot convert value [MapRecord[{timeAtPosition=2019-04-09T18:24:27Z, reportedAltitude=MapRecord[{assignedAltitude=MapRecord[{simpleAltitude=350}]}], qualifiedAircraftId=MapRecord[{computerId=MapRecord[{facilityIdentifier=CCZM}], gufi=KN44418300, aircraftId=ICL922, departurePoint=MapRecord[{airport=KJFK}], arrivalPoint=MapRecord[{airport=EBLG}], igtd=2019-04-09T17:00:00Z}], ncsmTrackData=MapRecord[{eta=MapRecord[{etaType=ESTIMATED, timeValue=2019-04-09T23:18:14Z}], departureFixAndTime=MapRecord[{fixName=MERIT, arrTime=2019-04-09T17:03:10Z}], nextEvent=MapRecord[{longitudeDecimal=-55.45632194020566, latitudeDecimal=46.91005273931668}], rvsmData=MapRecord[{futureCompliance=true, equipped=true, currentCompliance=true}]}], position=MapRecord[{latitude=MapRecord[{latitudeDMS=MapRecord[{minutes=38, degrees=46, direction=NORTH}]}], longitude=MapRecord[{longitudeDMS=MapRecord[{minutes=32, degrees=056, direction=WEST}]}]}], speed=550}]] of type CHOICE[RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD] to Map for field trackInformation because the type is not supported org.apache.nifi.serialization.record.util.IllegalTypeConversionException: Cannot convert value [MapRecord[{timeAtPosition=2019-04-09T18:24:27Z, reportedAltitude=MapRecord[{assignedAltitude=MapRecord[{simpleAltitude=350}]}], qualifiedAircraftId=MapRecord[{computerId=MapRecord[{facilityIdentifier=CCZM}], gufi=KN44418300, aircraftId=ICL922, departurePoint=MapRecord[{airport=KJFK}], arrivalPoint=MapRecord[{airport=EBLG}], igtd=2019-04-09T17:00:00Z}], ncsmTrackData=MapRecord[{eta=MapRecord[{etaType=ESTIMATED, timeValue=2019-04-09T23:18:14Z}], departureFixAndTime=MapRecord[{fixName=MERIT, arrTime=2019-04-09T17:03:10Z}], nextEvent=MapRecord[{longitudeDecimal=-55.45632194020566, latitudeDecimal=46.91005273931668}], rvsmData=MapRecord[{futureCompliance=true, equipped=true, currentCompliance=true}]}], position=MapRecord[{latitude=MapRecord[{latitudeDMS=MapRecord[{minutes=38, degrees=46, direction=NORTH}]}], longitude=MapRecord[{longitudeDMS=MapRecord[{minutes=32, degrees=056, direction=WEST}]}]}], speed=550}]] of type CHOICE[RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD, RECORD] to Map for field trackInformation because the type is not supported at org.apache.nifi.serialization.record.util.DataTypeUtils.convertRecordFieldtoObject(DataTypeUtils.java:693) at org.apache.nifi.serialization.record.util.DataTypeUtils.convertRecordArrayToJavaArray(DataTypeUtils.java:732) at org.apache.nifi.serialization.record.util.DataTypeUtils.convertRecordFieldtoObject(DataTypeUtils.java:691) at org.apache.nifi.serialization.record.util.DataTypeUtils.convertRecordFieldtoObject(DataTypeUtils.java:686) at org.apache.nifi.processors.jolt.record.JoltTransformRecord.transform(JoltTransformRecord.java:380) at org.apache.nifi.processors.jolt.record.JoltTransformRecord.onTrigger(JoltTransformRecord.java:333) at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1162) at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:209) at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117) at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Created 04-10-2019 05:39 PM
I think this may be a bug in the NIFI JoltTransformRecord processor. What is the best way to register this bug?