问题标签 [scala-pickling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
764 浏览

scala - 使用 Pickling 序列化到磁盘和反序列化 Scala 对象

给定一个同质类型对象流,我将如何将它们序列化为二进制,将它们写入磁盘,从磁盘读取它们,然后使用 Scala Pickling 反序列化它们?

例如:

0 投票
1 回答
443 浏览

scala - 如何在客户端腌制并在服务器中取消腌制?

我有一个如下所示的客户端 scala 代码

和 python server.py 如下所示,

如何在 scala 客户端中腌制 TextRDD 文件并将其传递给 python 服务器以取消腌制并打印接收到的数据?

0 投票
2 回答
450 浏览

scala - Scala unpickle 缺少字段

在这种情况下,如何使用可能丢失(并使用空值)的字段来取消对象?

我需要这个来解开来自浏览器的字符串,该字符串也缺少类型字段,因此我将无法使用 Option/Some/None 类型。

0 投票
1 回答
181 浏览

json - Scala Pickling 似乎不适用于 Point2D.Double

我正在开发一个 Scala 程序,该程序使用Scala Pickling 库来序列化和反序列化Map包含 aString和包中的一个Point2D.Double对象的对象java.awt.geom

以下是相关逻辑:

如果您需要查看更多信息,这里是带有违规逻辑的提交

就目前而言,JSON 格式的字符串输出pkl.value是一个有效的 serialized Map[String, Point2D.Double],除了 的值Point2D.Double被删除!

这是输出的一个片段:

我能做些什么来解决这个问题?

0 投票
2 回答
325 浏览

scala - scala 2.11 中 POJO 中的 scala-pickling - 真的很简单吗?

我正在尝试使用 scala-pickling,因为在站点github 上它看起来非常简单和干净。但是,我在这个简单的REPL中使用它失败了:

怎么了?

我确实使用相同类型的问题访问了 StackOverflow 上的其他问题,例如:

Scala酸洗:我自己的班级的简单自定义酸洗器?

Obs.:我在build.sbt中使用了这个参考:

0 投票
0 回答
513 浏览

scala - Scala Pickling:找不到宏实现

我是 Scala (2.10) 的新手,目前正在开发 POC 以在 HBase 中存储一些数据。为了存储数据,我尝试使用 scala 酸洗库将我的案例类序列化为二进制格式

我有这两个简单的类:

我正在使用 ScalaTest 类测试序列化

但是当我在 IntelliJ 中或通过 sbt 包在命令行上编译它时,我收到以下错误消息

编辑:我已经在 spark-shell (1.3.1) 中成功运行了这段代码,它会很高兴地腌制和解开这些类......但是相同的代码和导入会在编译时产生错误

0 投票
0 回答
77 浏览

scala - Scala Pickling:某些构造函数参数无法序列化

当我尝试对此类的实例进行 json 腌制时(使用此行: cls.pickleTo(....) ),N、timeWindow 和 lastN 参数不会显示在结果中。其他参数没问题。这个问题的任何提示?

0 投票
0 回答
104 浏览

scala - scala.MatchError 同时取消 DenseVector 的 json 字符串

我尝试对 Breeze ( https://github.com/scalanlp/breeze ) DenseVector 类 ( http://www.scalanlp.org/api/breeze/#breeze.linalg.DenseVector ) 的对象进行酸洗和解酸。不需要添加任何自定义pickler。酸洗成功时,解酸会引发 scala.MatchError。代码如下所示。任何调试此问题的帮助/指针表示赞赏!有趣的是,我能够毫无问题地腌制/取消腌制 DenseMatrix。

输出是:

0 投票
2 回答
317 浏览

jvm - 为什么我不能腌制我的案例课程?下次我应该怎么做才能手动解决这个问题?

编辑 2:观察和问题

  1. 我和贾斯汀下面的评论者很确定问题是由于错误的build.sbt配置造成的。然而,这是我第一次看到一个错误的build.sbt配置,它实际上适用于除选择器之外的所有其他东西。也许那是因为他们使用宏,而我通常避免使用它们。

  2. 为什么是否Flow.merge使用与Flow.map问题是否与问题有关sbt

  3. 可疑的 build.sbt 提取

    lazy val server = project .dependsOn(sharedJvm, client)

  4. 可疑的堆栈跟踪

所以这是堆栈的顶部:它从我找不到的方法到链接环境到字符串编码实用程序。好的。

嗯?stub?

嗯?

???

编辑 1:我的大而漂亮的 build.sbt 可能是问题所在

你看不到的是我在我的project文件夹中组织的:

  • JvmDependencies.scala它具有常规的 JVM 依赖项
  • SjsDependencies.scalaDef.settingsKeyslibraryDependencies上有JsModuleIDs
  • WebJarDependencies.scala其中有 javascripts 和 css 的

构建.sbt

编辑0:一个非常晦涩的聊天线程有一个人说我的感受:不,不是**** scala,但是

Mark Eibes @i-am-the-slime 2015 年 10 月 15 日 09:37 @ochrons 我还在战斗。我似乎不能再腌制任何东西了。 https://gitter.im/scala-js/scala-js/archives/2015/10/15

akka我有一个相当简单的要求 - 我在定义的 http 服务器上有一个 Web 套接字路由AkkaServerLogEventToMessageHandler()

这以最明显的方式适合一小组路线。

现在为什么我不能得到boopickle, upickle, 或prickle序列化像这个愚蠢的案例类这样简单的东西?

  • 无嵌套
  • 所有原始类型
  • 没有泛型
  • 只有他们三个

这些都产生了大致相同的错误

  • 使用所有三个常见的pickler来编写
  • 使用TextMessage代替BinaryMessage和相应的upickleprickle writeJs或任何方法
  • case class下降变为无(无,如无成员)
  • 改变输入本身到case class
  • 导入各种排列Implicits和下划线的东西

...具体来说,他们给了我关于同一个愚蠢错误的变体(不是同一个错误,但非常相似)

这有效

  • 不使用Flow.merge(达不到目的,我想继续发送日志)
  • 使用静态值
  • 其他没用的东西

上诉

请让我知道我在哪里以及为什么愚蠢...今天我以不同的形式在这个问题上花了四个小时,这让我发疯了。

0 投票
0 回答
225 浏览

scala - 如何为具有 List 成员的案例类编写自定义pickler?

我正在尝试为具有 List[String] 成员的案例类编写自定义pickler。我目前正在使用 scala-pickling 版本 0.10.1

我知道builder.beginCollection腌制集合的方法,但我无法获得任何有关其用于取消腌制的文档。经过大量阅读 scala-pickler 源代码后,我发现了一些关于如何正确使用它的指示。

现在我有以下代码,它生成,我认为错误的输出(关于示例之后的那个)。我将不胜感激一段示例代码或指向某些文档的链接。

因此,这是示例代码,您可以将其复制:粘贴到 REPL 中,它应该可以工作。问题出在输出 JSON 中,其中notSecond类的成员Beta未正确呈现。如您所见,notSecond 对象有一个空的“value”成员,而实际的“elem”数组在外面,紧跟在“notSecond”对象之后,而我希望它在里面,代替那个“value”成员.

对于我腌制 List 集合的方式,我将不胜感激,也许是对我的示例的修复。非常感谢!