問題タブ [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
その場合、欠落する可能性がある (そして null を使用する) フィールドを持つオブジェクトを unpickle するにはどうすればよいですか?
タイプフィールドも欠落しているブラウザーからの文字列をアンピクルするためにこれが必要なので、Option/Some/None タイプを使用できません。
json - Scala Pickling が Point2D.Double で動作しないようです
私は、Scala Pickling ライブラリを使用して、パッケージの aおよび aMap
オブジェクトを含むオブジェクトをシリアル化および逆シリアル化する Scala プログラムに取り組んでいます。String
Point2D.Double
java.awt.geom
関連するロジックは次のとおりです。
もっと見る必要がある場合は、問題のあるロジックを含むコミットがあります
現状では、 からの JSON 形式の文字列出力は、 の値が削除されていることを除いて、pkl.value
動作するシリアライズされた です。Map[String, Point2D.Double]
Point2D.Double
出力のスニペットを次に示します。
これを修正するにはどうすればよいですか?
scala - scala 2.11 の POJO での scala-pickling - 本当に簡単ですか?
サイトのgithubではとても簡単できれいに見えるので、scala-picklingを使用しようとしています。しかし、私はこの単純なREPLでそれを使用することに失敗しています:
なにが問題ですか?
たとえば、この同じタイプの質問で、StackOverflow の他の問題にアクセスしました。
Scala pickling: 自分のクラス用のシンプルなカスタム ピックラー?
Obs .: build.sbtでこの参照を使用しています:
scala - Scala Pickling: マクロの実装が見つかりません
私は Scala (2.10) を初めて使用し、現在 HBase 内にデータを格納するための POC に取り組んでいます。データを保存するために、scala pickling ライブラリを使用して、ケース クラスをバイナリ形式にシリアル化しようとしています。
私はこれらの2つの単純なクラスを持っています:
と
そして、ScalaTest クラスを使用してシリアル化をテストしています
しかし、これをIntelliJ内またはsbtパッケージを介してコマンドラインでコンパイルすると、次のエラーメッセージが表示されます
編集:私はこのコードをspark-shell(1.3.1)で正常に実行しました。これらのクラスを喜んでピクルおよびアンピクルします...しかし、コンパイル時に同一のコードとインポートが生成され、エラーが発生します
scala - Scala Pickling: コンストラクターのパラメーターの一部をシリアル化できませんでした
このクラスのインスタンスを json pickle しようとすると (次の行を使用: cls.pickleTo(....) )、N、timeWindow、および lastN パラメータが結果に表示されません。その他のパラメータは問題ありません。この問題のヒントはありますか?
scala - DenseVector の json 文字列の unpickle 中の scala.MatchError
Breeze ( https://github.com/scalanlp/breeze ) の DenseVector クラス ( http://www.scalanlp.org/api/breeze/#breeze.linalg.DenseVector )のオブジェクトを pickle 化および unpickle してみました。カスタム ピクラーを追加する必要はありませんでした。pickle 化は成功しましたが、unpickle すると scala.MatchError がスローされました。コードを以下に示します。この問題をデバッグする際のヘルプ/ポインターは大歓迎です! 興味深いことに、問題なく DenseMatrix をピクル/アンピクルすることができました。
出力は次のとおりです。
jvm - ケースクラスをピクルできないのはなぜですか? 次回これを手動で解決するにはどうすればよいですか?
編集 2: 観察と質問
ジャスティンの下のコメント者と一緒に、問題は誤った構成が原因であると確信してい
build.sbt
ます。ただし、ピッカー以外のすべてbuild.sbt
で文字通り機能する誤った構成を見たのはこれが初めてです。多分それは彼らがマクロを使っているからで、私は原則としてそれらを避けています。Flow.merge
が使用されているかどうかとFlow.map
、問題が にある場合はなぜ問題になるのsbt
でしょうか?疑わしい build.sbt 抽出物
lazy val server = project .dependsOn(sharedJvm, client)
疑わしいスタック トレース
つまり、これがスタックの一番上です。見つからないメソッドから、リンク環境、文字列エンコーディング utils へと進みます。Ok。
は?stub
?
は?
???
編集 1: 私の大きくて美しい build.sbt が問題かもしれません
あなたが見ることができないのは、私が自分のproject
フォルダに整理したことです:
JvmDependencies.scala
通常の Jvm 依存関係を持つSjsDependencies.scala
onのDef.settingsKey
s をもつlibraryDependencies
JsModuleID
WebJarDependencies.scala
javascript と css があります
build.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サーバーに1つのWebソケットルートがありますAkkaServerLogEventToMessageHandler()
:
これは、最も明白な方法でルートの小さなセットに適合します。
boopickle
では、なぜ、このばかげたケース クラスのように単純なものをシリアル化できないのでしょうupickle
か?prickle
- ネスティングなし
- すべてのプリミティブ型
- ジェネリックなし
- そのうちの3つだけ
これらはすべてほぼ同じエラーを生成しました
- 3 つの一般的な pickler をすべて使用して書き込む
TextMessage
の代わりにBinaryMessage
、対応するupickle
orprickle
writeJs
または what メソッドを使用する- ダウンを無に変化させる
case class
(無、メンバーなしなど) - 入力自体を
case class
Implicits
およびアンダースコアのさまざまな順列のインポート
...具体的には、同じ愚かなエラーのバリエーションを教えてくれました(同じエラーではありませんが、かなり似ています)
これはうまくいきました
- 使わない
Flow.merge
(目的に反する、ログをつけて発信し続けたい) - 静的値の使用
- その他の無駄なこと
訴える
どこで、なぜ私が愚かなのか教えてください... 今日、この問題にさまざまな形で4時間費やしました。
scala - リストメンバーを持つケースクラスのカスタムピッカーを作成する方法は?
List[String] メンバーを持つケース クラスのカスタム ピックラーを作成しようとしています。現在、scala-pickling バージョン 0.10.1 を使用しています
コレクションをピクルする方法については知っていbuilder.beginCollection
ますが、アンピクルするための使用に関するドキュメントを入手できませんでした。scala-pickler のソース コードをよく読んだ後、それを適切に使用する方法についていくつかの指示を見つけました。
現在、次のコードが生成されていますが、出力が間違っていると思います(例の後で)。サンプルコードまたはドキュメントへのリンクをいただければ幸いです。
したがって、これはサンプルコードです。これをコピーして REPL に貼り付けると、動作するはずです。notSecond
問題は、クラスのメンバーがBeta
適切にレンダリングされていない出力 JSON にあります。ご覧のとおり、notSecond オブジェクトには空の「value」メンバーがあり、実際の「elem」配列は「notSecond」オブジェクトの直後の外側にありますが、その「value」メンバーの代わりに内側にあると予想されます.
List コレクションをピクルする方法についてのコメントと、おそらく私の例の修正をお願いします。どうもありがとう!