小编Ben*_*ani的帖子

Scala - 具有 100 个字段的案例类 (StackOverflowError)

我创建了带有 100 个字段 +- 的 scala case 类,当我尝试构建项目(使用 gradle)时,出现错误:

Cause: java.lang.StackOverflowError
    at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:698)
    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)
Run Code Online (Sandbox Code Playgroud)

我正在使用 scala 2.11 ,发现过去有 22 个字段的限制。但它是固定的。

那么为什么构建失败呢?(我试图增加 -Xss20m ,但没有帮助)

scala case-class scala-2.11

6
推荐指数
1
解决办法
409
查看次数

使用 Spark 和 scala 编写 CSV 文件 - 空引号而不是空值

我正在使用 spark 2.4.1 和 scala,并尝试将 DF 写入 csv 文件。似乎在空值的情况下,csv 包含“”。是否可以删除那些空引号?

 val data = Seq(
      Row(1, "a"),
      Row(5, "z"),
      Row(5, null)
    )

    val schema = StructType(
      List(
        StructField("num", IntegerType, true),
        StructField("letter", StringType, true)
      )
    )

    var df = spark.createDataFrame(
      spark.sparkContext.parallelize(data),
      schema
    )
  df.write.csv("location/")
Run Code Online (Sandbox Code Playgroud)

输出看起来像:

1,a
5,z
5,""
Run Code Online (Sandbox Code Playgroud)

我希望它将是:

1,a
5,z
5,
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

谢谢!

csv scala apache-spark

1
推荐指数
1
解决办法
1657
查看次数

标签 统计

scala ×2

apache-spark ×1

case-class ×1

csv ×1

scala-2.11 ×1