在 Spark 上带有 json4s 的 NotSerializableException
基本上,我必须使用 Spark 在 HDFS 上分析一些复杂的 JSON。 我使用“用于理解”来(预)过滤 JSON 和“提取”方法 json4s 将其包装到一个案例类中 这个很好用! def foo(rdd: RDD[String]) = { case class View(C: String,b: Option[Array[List[String]]], t: Time) case ... »
基本上,我必须使用 Spark 在 HDFS 上分析一些复杂的 JSON。 我使用“用于理解”来(预)过滤 JSON 和“提取”方法 json4s 将其包装到一个案例类中 这个很好用! def foo(rdd: RDD[String]) = { case class View(C: String,b: Option[Array[List[String]]], t: Time) case ... »
在 build.sbt 文件中添加了这一行: libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.2.11" 而且我看不到该库已添加。 也许我需要对这个文件做一些构建?... »
是否可以反序列化下面的JSON { "operation": "create", // type discriminator "value": "some text", "source": { "name": "source name", "kind": "db" // type discriminator } } 到下面的一组类 sealed trait ... »
假设我在下面定义了通用函数: def convert[R](json: String)(implicit m: Manifest[R]): R = parse(json).extract[R] 我不确定调用此函数的正确语法是什么?我试过了: convert(json).asInstanceOf[MyClass] 似乎可以正确编译,但是当我尝试提取 json 时出现异常。例如,我可... »
尝试将数据帧转换为 JSON 字符串,输出只是 {}。不确定我做错了什么? 这只是一个测试,但我需要使用的完整 Dataframe 模式是 800 多列,所以如果可能的话,我不想在代码中专门指定每个字段!代码在锁定的公司环境中运行,因此我无法向系统写入或读取文件,只能输出字符串。 import org.json4s.jackson.Serialization.write import org.js... »
假设我定义了以下案例类: case class C(i: Int) { lazy val incremented = copy(i = i + 1) } 然后尝试序列化为json: val mapper = new ObjectMapper() mapper.registerModule(DefaultScalaModule) val out = new StringWriter map... »
更新:仔细查看我的其余代码,我在其他地方遇到了问题,这就是它无法正常工作的原因。谢谢 我想知道是否可以使用 json4 序列化程序来反序列化和使用泛型的对象。 我的 json 数据具有相似的特征,但某一部分的信息不同 例如,我有超级英雄,谁的技能不同 *Json 数据 { "type": "Blue", "name": "Aquaman", "age": "4", "skills"... »
我确实在反序列化之前指定了 FullTypeHints def serialize(definition: Definition): String = { val hints = definition.tasks.map(_.getClass).groupBy(_.getName).values.map(_.head).toList implicit val formats =... »
运行以下代码时,我预计会出现异常,但我得到的是None。这是预期的吗? import org.json4s.jackson.JsonMethods import org.json4s.{DefaultFormats, Formats} implicit val f: Formats = DefaultFormats val json ="{ \"a\" : { \"c\": 1 }}" ca... »
我的部分配置包含任意 JSON。我想将该 JSON 反序列化为 JValue 以供以后处理。 但是,ConfigSource.load 抱怨找不到 type 密钥。 测试代码: import org.json4s.JsonAST.JValue import pureconfig.ConfigReader.Result import pureconfig._ import pureconfi... »
我正在尝试使用 json4s 将带有可选值类字段的案例类序列化为 JSON。到目前为止,我无法正确呈现可选的值类字段(请参阅下面的 sn-p 示例)。 我试过json-native 和json-jackson 库,结果是一样的。 这是一个简短的独立测试 import org.json4s.DefaultFormats import org.scalatest.FunSuite import ... »
我正在努力让 json4s 在我的案例类中使用 java.time.Instant 值。 REPL 看起来像这样。 scala> case class TestTime(tag: String, t: java.time.Instant) defined class TestTime scala> import org.json4s._ import org.json4s._ s... »
为什么在反序列化为案例类实例之后,结构相等比较会受到案例类定义的位置在另一个类内部或外部的影响。比如下面sn -p中的断言 package example import org.json4s.DefaultFormats import org.json4s.native.JsonMethods.parse class Foo { case class Person(name: Strin... »
设置 我正在使用 json4s 3.2.11 和 Scala 2.11。 我有一个使用sealed trait 定义的枚举和一个自定义序列化程序: import org.json4s.CustomSerializer import org.json4s.JsonAST.JString import org.json4s.DefaultFormats import org.json4s.jac... »
我尝试通过组合一些字段来生成 json,包括案例类的 Seq。 import org.json4s._ import org.json4s.JsonDSL._ import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.Serialization import org.json4s.jackson.Serializatio... »
我正在尝试在 Scala 中使用 json4s 解析以下 Json,但由于嵌套结构,我无法解析: [ { "body":"8", "start":29, "value":{ "value":8, "type":"value" }, "end":30, "dim":"number", "latent"... »
我有以下结构: sealed trait BooleanExpression extends Serializable { def value: Boolean } case object True extends BooleanExpression with Serializable { val value: Boolean = true ... »
在 akka scala 应用程序中,我使用了一个休息端点。因此,我想将其响应映射到案例类,但我还想通过转换某些属性来简化使用这些案例类,例如那些包含日期的。 所以给定一个 Json: { "id": "20180213165959sCdJr", "createdAt": "2018-02-13T16:59:59.570+0000", "finishedAt": "20... »
如何在 Scala 中用 Json4s 序列化一个密封的抽象类? 定义了以下类: sealed abstract class Person extends Product with Serializable case class Spouse(name: String, age: Int) extends Person case class Customer(name: String, age... »
我在 Spark 2.2.0 闭包中使用 Json4s 类。无法序列化DefaultFormats 的“解决方法”是包含需要它们的定义inside every closure executed by Spark。我相信我做的比下面需要做的多,但仍然出现序列化失败。 使用 Spark 2.2.0、Scala 2.11、Json4s 3.2.x(Spark 中的任何内容),还尝试使用 Json4s ... »