问题标签 [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.
scala - 使用 Pickling 序列化到磁盘和反序列化 Scala 对象
给定一个同质类型对象流,我将如何将它们序列化为二进制,将它们写入磁盘,从磁盘读取它们,然后使用 Scala Pickling 反序列化它们?
例如:
scala - 如何在客户端腌制并在服务器中取消腌制?
我有一个如下所示的客户端 scala 代码
和 python server.py 如下所示,
如何在 scala 客户端中腌制 TextRDD 文件并将其传递给 python 服务器以取消腌制并打印接收到的数据?
scala - Scala unpickle 缺少字段
在这种情况下,如何使用可能丢失(并使用空值)的字段来取消对象?
我需要这个来解开来自浏览器的字符串,该字符串也缺少类型字段,因此我将无法使用 Option/Some/None 类型。
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
被删除!
这是输出的一个片段:
我能做些什么来解决这个问题?
scala - scala 2.11 中 POJO 中的 scala-pickling - 真的很简单吗?
我正在尝试使用 scala-pickling,因为在站点github 上它看起来非常简单和干净。但是,我在这个简单的REPL中使用它失败了:
怎么了?
我确实使用相同类型的问题访问了 StackOverflow 上的其他问题,例如:
Obs.:我在build.sbt中使用了这个参考:
scala - Scala Pickling:找不到宏实现
我是 Scala (2.10) 的新手,目前正在开发 POC 以在 HBase 中存储一些数据。为了存储数据,我尝试使用 scala 酸洗库将我的案例类序列化为二进制格式
我有这两个简单的类:
和
我正在使用 ScalaTest 类测试序列化
但是当我在 IntelliJ 中或通过 sbt 包在命令行上编译它时,我收到以下错误消息
编辑:我已经在 spark-shell (1.3.1) 中成功运行了这段代码,它会很高兴地腌制和解开这些类......但是相同的代码和导入会在编译时产生错误
scala - Scala Pickling:某些构造函数参数无法序列化
当我尝试对此类的实例进行 json 腌制时(使用此行: cls.pickleTo(....) ),N、timeWindow 和 lastN 参数不会显示在结果中。其他参数没问题。这个问题的任何提示?
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。
输出是:
jvm - 为什么我不能腌制我的案例课程?下次我应该怎么做才能手动解决这个问题?
编辑 2:观察和问题
我和贾斯汀下面的评论者很确定问题是由于错误的
build.sbt
配置造成的。然而,这是我第一次看到一个错误的build.sbt
配置,它实际上适用于除选择器之外的所有其他东西。也许那是因为他们使用宏,而我通常避免使用它们。为什么是否
Flow.merge
使用与Flow.map
问题是否与问题有关sbt
?可疑的 build.sbt 提取
lazy val server = project .dependsOn(sharedJvm, client)
可疑的堆栈跟踪
所以这是堆栈的顶部:它从我找不到的方法到链接环境到字符串编码实用程序。好的。
嗯?stub
?
嗯?
???
编辑 1:我的大而漂亮的 build.sbt 可能是问题所在
你看不到的是我在我的project
文件夹中组织的:
JvmDependencies.scala
它具有常规的 JVM 依赖项SjsDependencies.scala
在Def.settingsKey
slibraryDependencies
上有JsModuleID
sWebJarDependencies.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
和相应的upickle
或prickle
writeJs
或任何方法 - 将
case class
下降变为无(无,如无成员) - 改变输入本身到
case class
- 导入各种排列
Implicits
和下划线的东西
...具体来说,他们给了我关于同一个愚蠢错误的变体(不是同一个错误,但非常相似)
这有效
- 不使用
Flow.merge
(达不到目的,我想继续发送日志) - 使用静态值
- 其他没用的东西
上诉
请让我知道我在哪里以及为什么愚蠢...今天我以不同的形式在这个问题上花了四个小时,这让我发疯了。
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 集合的方式,我将不胜感激,也许是对我的示例的修复。非常感谢!