Java Hadoop摄取期间Druid spatialDimensions加载数据错误 我有一个hadoop数据摄取过程(就像) 当前德鲁伊索引器版本为0.14.2-孵化 数据是地面军事系统上的TSV文件

Java Hadoop摄取期间Druid spatialDimensions加载数据错误 我有一个hadoop数据摄取过程(就像) 当前德鲁伊索引器版本为0.14.2-孵化 数据是地面军事系统上的TSV文件,java,hadoop,druid,data-ingestion,Java,Hadoop,Druid,Data Ingestion,以前使用德鲁伊索引器的旧版本,没有问题。升级到新版本后出现错误 一些细节 以下是我的规范中的分析部分: "parser": { "parseSpec": { "dimensionsSpec": { "spatialDimensions": [ { "dimName": "geo", "dims": ["latitude", "long

以前使用德鲁伊索引器的旧版本,没有问题。升级到新版本后出现错误

一些细节

以下是我的规范中的分析部分:

      "parser": {
        "parseSpec": {
          "dimensionsSpec": {
            "spatialDimensions": [
              {
                "dimName": "geo",
                "dims": ["latitude", "longitude"]
              }
            ],
            "dimensionExclusions": [],
            "dimensions":[
              "ip_address",
              "radius",
              "confidence"
            ]
          },
          "timestampSpec": {
            "format": "millis",
            "column": "ts"
          },
          "columns": [
            "ts",
            "ip_address",
            "latitude",
            "longitude",
            "radius",
            "confidence"
          ],
          "format":"tsv"
        },
        "type": "lzo"
      }
    },
本节将导致出现如下错误:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.druid.cli.CliHadoopIndexer.run(CliHadoopIndexer.java:116)
    at org.apache.druid.cli.Main.main(Main.java:118)
Caused by: java.lang.IllegalArgumentException: Instantiation of [simple type, class org.apache.druid.data.input.impl.DelimitedParseSpec] value failed: column[geo] not in columns. (through reference chain: org.apache.druid.data.input.impl.StringInputRowParser["parseSpec"])
    at shade.com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3459)
    at shade.com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3378)
    at org.apache.druid.segment.indexing.DataSchema.getParser(DataSchema.java:126)
    at org.apache.druid.indexer.HadoopDruidIndexerConfig.verify(HadoopDruidIndexerConfig.java:591)
    at org.apache.druid.indexer.HadoopDruidIndexerJob.<init>(HadoopDruidIndexerJob.java:49)
    at org.apache.druid.cli.CliInternalHadoopIndexer.run(CliInternalHadoopIndexer.java:124)
    at org.apache.druid.cli.Main.main(Main.java:118)
    ... 6 more
Caused by: shade.com.fasterxml.jackson.databind.JsonMappingException: Instantiation of [simple type, class org.apache.druid.data.input.impl.DelimitedParseSpec] value failed: column[geo] not in columns. (through reference chain: org.apache.druid.data.input.impl.StringInputRowParser["parseSpec"])
    at shade.com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.wrapException(StdValueInstantiator.java:399)
    at shade.com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:231)
    at shade.com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:135)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:442)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1099)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:296)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:166)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:136)
    at shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:122)
    at shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:93)
    at shade.com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:131)
    at shade.com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:518)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:463)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:378)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1099)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:296)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:166)
    at shade.com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:136)
    at shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:122)
    at shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:93)
    at shade.com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:131)
    at shade.com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:42)
    at shade.com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3454)
    ... 12 more
Caused by: java.lang.IllegalArgumentException: column[geo] not in columns.
    at shade.com.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
    at org.apache.druid.data.input.impl.DelimitedParseSpec.verify(DelimitedParseSpec.java:119)
    at org.apache.druid.data.input.impl.DelimitedParseSpec.<init>(DelimitedParseSpec.java:63)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at shade.com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:125)
    at shade.com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:227)
    ... 33 more

java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于org.apache.druid.cli.CliHadoopIndexer.run(CliHadoopIndexer.java:116)
位于org.apache.druid.cli.Main.Main(Main.java:118)
原因:java.lang.IllegalArgumentException:[simple type,class org.apache.druid.data.input.impl.DelimitedParspec]值实例化失败:列[geo]不在列中。(通过引用链:org.apache.druid.data.input.impl.StringInputRowParser[“parseSpec”])
位于shade.com.fasterxml.jackson.databind.ObjectMapper.\u convert(ObjectMapper.java:3459)
位于shade.com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3378)
位于org.apache.druid.segment.index.DataSchema.getParser(DataSchema.java:126)
在org.apache.druid.indexer.HadoopDruidIndexerConfig.verify上(HadoopDruidIndexerConfig.java:591)
在org.apache.druid.indexer.HadoopDruidDexerJob.(hadoopDruidDexerJob.java:49)
位于org.apache.druid.cli.CliInternalHadoopIndexer.run(CliInternalHadoopIndexer.java:124)
位于org.apache.druid.cli.Main.Main(Main.java:118)
... 还有6个
原因:shade.com.fasterxml.jackson.databind.JsonMappingException:实例化[simple type,class org.apache.druid.data.input.impl.DelimitedParspec]值失败:列[geo]不在列中。(通过引用链:org.apache.druid.data.input.impl.StringInputRowParser[“parseSpec”])
位于shade.com.fasterxml.jackson.databind.desr.std.StdValueInstantiator.wrapException(StdValueInstantiator.java:399)
位于shade.com.fasterxml.jackson.databind.desr.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:231)
位于shade.com.fasterxml.jackson.databind.desr.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:135)
在shade.com.fasterxml.jackson.databind.desr.BeandSerializer.\u反序列化使用PropertyBased(BeandSerializer.java:442)
在shade.com.fasterxml.jackson.databind.deser.beandserializerbase.deserializeFromObjectUsingNonDefault(beandserializerbase.java:1099)上
位于shade.com.fasterxml.jackson.databind.deser.beandserializer.deserializeFromObject(beandserializer.java:296)
在shade.com.fasterxml.jackson.databind.desr.BeandSerializer.\u反序列化其他(BeandSerializer.java:166)
在shade.com.fasterxml.jackson.databind.desr.BeandSerializer.deserialize(BeandSerializer.java:136)
位于shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.\u反序列化TypedForId(AsPropertyTypeDeserializer.java:122)
位于shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:93)
位于shade.com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:131)
在shade.com.fasterxml.jackson.databind.desr.SettableBeanProperty.deserialize(SettableBeanProperty.java:518)
在shade.com.fasterxml.jackson.databind.desr.BeandSerializer.\u反序列化WitherRorWrapping(BeandSerializer.java:463)
位于shade.com.fasterxml.jackson.databind.desr.BeandSerializer.\u反序列化使用PropertyBased(BeandSerializer.java:378)
在shade.com.fasterxml.jackson.databind.deser.beandserializerbase.deserializeFromObjectUsingNonDefault(beandserializerbase.java:1099)上
位于shade.com.fasterxml.jackson.databind.deser.beandserializer.deserializeFromObject(beandserializer.java:296)
在shade.com.fasterxml.jackson.databind.desr.BeandSerializer.\u反序列化其他(BeandSerializer.java:166)
在shade.com.fasterxml.jackson.databind.desr.BeandSerializer.deserialize(BeandSerializer.java:136)
位于shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.\u反序列化TypedForId(AsPropertyTypeDeserializer.java:122)
位于shade.com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:93)
位于shade.com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:131)
在shade.com.fasterxml.jackson.databind.desr.impl.TypeWrappedSerializer.deserialize(TypeWrappedSerializer.java:42)
位于shade.com.fasterxml.jackson.databind.ObjectMapper.\u convert(ObjectMapper.java:3454)
... 还有12个
原因:java.lang.IllegalArgumentException:列[geo]不在列中。
位于shade.com.google.common.base.premissions.checkArgument(premissions.java:148)
位于org.apache.druid.data.input.impl.delimitedParspec.verify(delimitedParspec.java:119)
位于org.apache.druid.data.input.impl.delimitedParspec.(delimitedParspec.java:63)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于shade.com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:125)
位于shade.com.fasterxml.jackson.databind.desr.std.stdValueInstancer.createFromObjectWith(stdValueInstancer.java:227)
... 33多
我相信
"parser": {
  "type": "string",
  "parseSpec": {
    "format": "json",
     "flattenSpec": {
          "fields": [
          { "type": "path", "name": "Longitude", "expr": "$.location.lon" },
           { "type": "path", "name": "Latitude", "expr": "$.location.lat" }
        ]
      },
    "timestampSpec": {
      "column": "timeStamp",
      "format": "auto"
    },
     "dimensionsSpec": {
      "dimensions": ["blogid", "category","eventType","userid" ],
        "spatialDimensions": [
    {
        "dimName": "coordinates",
        "dims": ["Latitude", "Longitude"]
    } 
                                    ]       
    }
    }       
  }