【问题标题】:spark - avoid stackoverflow error for lengthy schemaspark - 避免冗长模式的 stackoverflow 错误
【发布时间】:2019-02-15 21:34:10
【问题描述】:

我有一个 Spark 代码,它定义了一个包含 950 多列的架构。如下所示

 val cust_schema = new StructType()
    .add(StructField("COL_1",DecimalType(16,0)))
    .add(StructField("COL_2",StringType))
    .add(StructField("COL_3",DecimalType(6,0)))
    .add(StructField("COL_4",StringType))
    .add(StructField("COL_5",StringType))
    .add(StructField("COL_6",DecimalType(4,0)))
    . . . . 
    . . . . 

    .add(StructField("COL_950",DecimalType(4,0)))
    .add(StructField("COL_951",DecimalType(4,0)))
    .add(StructField("COL_952",StringType))

编译时出错

Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError
at scala.tools.nsc.typechecker.Contexts$Context.bufferErrors(Contexts.scala:332)

at scala.tools.nsc.typechecker.Contexts$Context.reportErrors(Contexts.scala:333)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:672)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$99.apply(Typers.scala:4525)

at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)

at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4524)

at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5360)

at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396)

at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423)

at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370)

at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5472)

at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5478)

at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4812)

at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5344)

. . . . 
. . . . . 

当我将列数减少到 500+ 时,代码会编译......但它并不总是一致的。即使对于

【问题讨论】:

  • 我已经导入了超过 2000 列的 CSV 文件并修改了它们的架构。我从来没有遇到过这个问题。虽然我没有像你那样添加模式。您确定这是 Spark 问题吗?我看到你得到了ServerException。请看这个:link
  • @Nikhil - 让我也试试..

标签: apache-spark apache-spark-sql


【解决方案1】:

看起来像 scala 编译器问题。 您可以尝试使用 Seq 基本构造函数而不是链调用

val cust_schema = StructType(Seq(
  StructField("COL_1",DecimalType(16,0)),
  StructField("COL_2",DecimalType(16,0)),
  ...
  StructField("COL_952",DecimalType(16,0))
))

【讨论】:

  • 固定示例代码。我添加了“)”来关闭 StructField “(”。它在本地编译:import org.apache.spark.sql.types._ object A { val seq = Seq( StructField("COL_1",DecimalType(16,0) ), StructField("COL_1",DecimalType(16,0)) ) val cust_schema = StructType(seq) }
  • 对不起,我的意思是..尝试了您在此处提到的模式..并得到与原始帖子中相同的错误..
  • 我增加了其他链接中提到的堆,并且使用 StrucType(Seq(...))) 现在可以使用了.. 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-20
相关资源
最近更新 更多