小编igr*_*eld的帖子

带有多种类型的json字符串Map [String,Object]

我有这个json字符串:

{
  "startDate" : "2014-12-17T14:31:40Z",
  "name" : "Izek",
  "age" : 12
}
Run Code Online (Sandbox Code Playgroud)

当我用杰克逊转换它Map[String, Object]的类型startDateString我怎么能告诉杰克逊把它转换成DateTime类型?

java json jackson

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

SparkphysicalPlanDescription字符串太大

在运行 Spark 作业时,我遇到 OOM 异常,查看堆栈跟踪我发现physicalPlanDescription太大:

它是在这里创建的:(org.apache.spark.sql.execution.QueryExecution 行:206)

private def completeString(appendStats: Boolean): String = {
...
...
s"""== Parsed Logical Plan ==
   |${stringOrError(logical.treeString(verbose = true))}
   |== Analyzed Logical Plan ==
   |$analyzedPlan
   |== Optimized Logical Plan ==
   |${stringOrError(optimizedPlanString)}
   |== Physical Plan ==
   |${stringOrError(executedPlan.treeString(verbose = true))}
""".stripMargin.trim
}
Run Code Online (Sandbox Code Playgroud)

它是根据代码中的注释为 UI 创建的。

1)我能做什么?已经使用具有 20G 堆的驱动程序。

2)为什么这个字符串不是惰性的?为什么要总是计算它?

我还打开问题:Apache Spark

根据要求示例代码:链接

运行与-XX:+UseG1GC

需要明确的是,这段代码创建了一个非常大的计划,我的实际代码要复杂得多,许多表相互连接,进行过滤和许多case when语句。因此,请不要坚持这个示例代码实际上什么也没做的事实。

apache-spark

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

Spark LogicalPlan序列化/反序列化

我想将DataFrame.queryExecution.optimizedPlan保存为一些持久性,然后重用它在其他spark应用程序中创建新的DataSet:使用此API:

org.apache.spark.sql.Dataset.ofRows(sparkSession, logicalPlan)
Run Code Online (Sandbox Code Playgroud)

能做到吗 怎么样?

apache-spark apache-spark-sql

5
推荐指数
0
解决办法
105
查看次数

反序列化选项返回 None 而不是 json4s 中的异常

运行以下代码时,我预计会出现异常,但我None却得到了异常。这是预期的吗?

import org.json4s.jackson.JsonMethods
import org.json4s.{DefaultFormats, Formats}
implicit val f: Formats = DefaultFormats
val json ="{ \"a\" : { \"c\": 1 }}"

case class Foo(a: Option[String])
val foo = JsonMethods.parse(json).extract[Foo]

println(foo)

>  Foo(None)
Run Code Online (Sandbox Code Playgroud)

还有那个代码:

import org.json4s.jackson.JsonMethods
import org.json4s.{DefaultFormats, Formats}
implicit val f: Formats = DefaultFormats
val json ="{ \"a\" : { \"c\": 1 }}"

case class Foo(a: String = "")
val foo = JsonMethods.parse(json).extract[Foo]

println(foo)

>  Foo()
Run Code Online (Sandbox Code Playgroud)

scala json4s

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

标签 统计

apache-spark ×2

apache-spark-sql ×1

jackson ×1

java ×1

json ×1

json4s ×1

scala ×1