問題タブ [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

その場合、欠落する可能性がある (そして null を使用する) フィールドを持つオブジェクトを unpickle するにはどうすればよいですか?

タイプフィールドも欠落しているブラウザーからの文字列をアンピクルするためにこれが必要なので、Option/Some/None タイプを使用できません。

0 投票する
1 に答える
181 参照

json - Scala Pickling が Point2D.Double で動作しないようです

私は、Scala Pickling ライブラリを使用して、パッケージの aおよび aMapオブジェクトを含むオブジェクトをシリアル化および逆シリアル化する Scala プログラムに取り組んでいます。StringPoint2D.Doublejava.awt.geom

関連するロジックは次のとおりです。

もっと見る必要がある場合は、問題のあるロジックを含むコミットがあります

現状では、 からの JSON 形式の文字列出力は、 の値が削除されていることを除いて、pkl.value動作するシリアライズされた です。Map[String, Point2D.Double]Point2D.Double

出力のスニペットを次に示します。

これを修正するにはどうすればよいですか?

0 投票する
2 に答える
325 参照

scala - scala 2.11 の POJO での scala-pickling - 本当に簡単ですか?

サイトのgithubではとても簡単できれいに見えるので、scala-picklingを使用しようとしています。しかし、私はこの単純なREPLでそれを使用することに失敗しています:

なにが問題ですか?

たとえば、この同じタイプの質問で、StackOverflow の他の問題にアクセスしました。

Scala pickling: 自分のクラス用のシンプルなカスタム ピックラー?

Obs .: build.sbtでこの参照を使用しています:

0 投票する
0 に答える
513 参照

scala - Scala Pickling: マクロの実装が見つかりません

私は Scala (2.10) を初めて使用し、現在 HBase 内にデータを格納するための POC に取り組んでいます。データを保存するために、scala pickling ライブラリを使用して、ケース クラスをバイナリ形式にシリアル化しようとしています。

私はこれらの2つの単純なクラスを持っています:

そして、ScalaTest クラスを使用してシリアル化をテストしています

しかし、これをIntelliJ内またはsbtパッケージを介してコマンドラインでコンパイルすると、次のエラーメッセージが表示されます

編集:私はこのコードをspark-shell(1.3.1)で正常に実行しました。これらのクラスを喜んでピクルおよびアンピクルします...しかし、コンパイル時に同一のコードとインポートが生成され、エラーが発生します

0 投票する
0 に答える
77 参照

scala - Scala Pickling: コンストラクターのパラメーターの一部をシリアル化できませんでした

このクラスのインスタンスを json pickle しようとすると (次の行を使用: cls.pickleTo(....) )、N、timeWindow、および lastN パラメータが結果に表示されません。その他のパラメータは問題ありません。この問題のヒントはありますか?

0 投票する
0 に答える
104 参照

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 をピクル/アンピクルすることができました。

出力は次のとおりです。

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. 疑わしいスタック トレース

つまり、これがスタックの一番上です。見つからないメソッドから、リンク環境、文字列エンコーディング utils へと進みます。Ok。

は?stub?

は?

???

編集 1: 私の大きくて美しい build.sbt が問題かもしれません

あなたが見ることができないのは、私が自分のprojectフォルダに整理したことです:

  • JvmDependencies.scala通常の Jvm 依存関係を持つ
  • SjsDependencies.scalaonのDef.settingsKeys をもつlibraryDependenciesJsModuleID
  • WebJarDependencies.scalajavascript と 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、対応するupickleorprickle writeJsまたは what メソッドを使用する
  • ダウンを無に変化させるcase class(無、メンバーなしなど)
  • 入力自体をcase class
  • Implicitsおよびアンダースコアのさまざまな順列のインポート

...具体的には、同じ愚かなエラーのバリエーションを教えてくれました(同じエラーではありませんが、かなり似ています)

これはうまくいきました

  • 使わないFlow.merge(目的に反する、ログをつけて発信し続けたい)
  • 静的値の使用
  • その他の無駄なこと

訴える

どこで、なぜ私が愚かなのか教えてください... 今日、この問題にさまざまな形で4時間費やしました。

0 投票する
0 に答える
225 参照

scala - リストメンバーを持つケースクラスのカスタムピッカーを作成する方法は?

List[String] メンバーを持つケース クラスのカスタム ピックラーを作成しようとしています。現在、scala-pickling バージョン 0.10.1 を使用しています

コレクションをピクルする方法については知っていbuilder.beginCollectionますが、アンピクルするための使用に関するドキュメントを入手できませんでした。scala-pickler のソース コードをよく読んだ後、それを適切に使用する方法についていくつかの指示を見つけました。

現在、次のコードが生成されていますが、出力が間違っていると思います(例の後で)。サンプルコードまたはドキュメントへのリンクをいただければ幸いです。

したがって、これはサンプルコードです。これをコピーして REPL に貼り付けると、動作するはずです。notSecond問題は、クラスのメンバーがBeta適切にレンダリングされていない出力 JSON にあります。ご覧のとおり、notSecond オブジェクトには空の「value」メンバーがあり、実際の「elem」配列は「notSecond」オブジェクトの直後の外側にありますが、その「value」メンバーの代わりに内側にあると予想されます.

List コレクションをピクルする方法についてのコメントと、おそらく私の例の修正をお願いします。どうもありがとう!