問題タブ [kryo]
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.
java - Why is InputStream constructed from Channel much faster than one constructed from FileDescriptor?
When constructing an InputStream on a RandomAccessFile in order to have Kryo deserialize objects from it, it seems it makes a HUGE difference for performance whether one constructs the mediating InputStream through the file's Channel (gives good performance) or through its FileDescriptor (gives terrible performance):
InputWithRandomAccessFile is my own class extending Kryo's Input class, with the only additional behavior that it seeks the correct position in the R/A file when #setPosition is called.
Reading 3,000 fixed-size objects from input1 takes around 600 ms, from input2 it takes around 16 seconds.
apache-spark - Spark RDD から Kryo ファイルを読み取る
私はSparkとScalaの初心者です。
Kryo をシリアル化して scala コードに記述したファイルを Spark で読み取り、分析する必要があります。
これは、複雑なオブジェクトであるシリアル化されたオブジェクト (myScalaObject) を使用してファイルを作成するための疑似コードです。
ファイルはうまく書いているようですが、Spark RDD で読むと問題が発生します
Spark の擬似コード:
実行しようとすると、次のエラーが表示されます。
このタイプのファイルを Spark で読み取ることは可能ですか?
この解決策が不可能な場合、複雑なファイル構造を作成して Spark で読み取るための適切な解決策は何ですか?
ありがとうございました
java - Hazelcastでkryoを使用して複数のシリアライザを実装するには?
Hazelcast で動作するように変更したくない既存のドメイン モデルがあります。このために、StreamSerializer インターフェイスと Kryo を使用したいと考えています。https://github.com/hazelcast/hazelcast-book-examples/blob/master/chapter-serialization/kryo-serializer/src/main/java/PersonKryoSerializer.java の例 (または同様のhttp: / /blog.hazelcast.com/2013/10/16/kryo-serializer/ )、しかし、先に進んで他のクラスにシリアライザーを追加する方法を考えています。
コンストラクトを使用して、新しいStreamSerializer
クラスを作成することをお勧めしますThreadLocal
か? これは、再び新しい Kryo オブジェクトが作成されることを意味しますが、これでよろしいですか? それともKryo
、アプリケーション全体で 1 つのオブジェクトのみを使用する方がよいでしょうか?
一部のクラスにはデフォルトのコンストラクターがありません。どうすればそれを組み込むことができますか?
scala - chill-avro を使用して Avro GenericRecords を Spark にロードするにはどうすればよいですか?
Spark で Avro GenericRecords を使用しようとしましたが、java.io.NotSerializableException: org.apache.avro.mapred.AvroWrapper が発生しました。
https://gist.github.com/rjurney/8b90e9b709d061cc0b94
chill プロジェクトは、Scala の Kryo/Avro サポートを追加しました。どうすれば Kryo、Avro、chill、Spark を組み合わせて Avros をロードできますか?
apache-storm - ストレージ バックエンドとして apache cassandra 2.0.7 を使用した Storm 0.9.1 および Titan グラフ データベース 0.4.2 での Kryo の互換性
Kryo 2.17 を使用している Storm 0.9.1 を使用しています。Kryo 2.21 を内部的に使用するタイタン グラフ データベースにデータを挿入するモジュールがあり、次の問題が発生します。
java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: com.thinkaurelius.titan.graphdb.types.TypeAttributeType フィールド com.thinkaurelius.titan.graphdb.types.TypeAttribute.type を com に設定できません.thinkaurelius.titan.graphdb.types.TypeAttribute シリアル化トレース: タイプ (com.thinkaurelius.titan.graphdb.types.TypeAttribute)
ストームで Kryo を 2.21 にアップグレードすると、そのようなメソッド エラーが発生しないため、この問題をどのように修正すればよいでしょうか。また、タイタン グラフ データベースで Kryo を 2.17 にダウングレードしようとしましたが、上記と同じ問題に直面しています。
java - Titan データベースで kryo を使用してオブジェクトをシリアル化する
Titan データベースで基本的なオブジェクトをシリアル化します。しかし、うまくいきません。オブジェクトをシリアライズして、タイタンデータベースに登録したいと思います。しかし、なぜこの問題があるのか わかりません。私はソース コードを投稿します。ドキュメントがあれば、喜んで受け入れます。
通常、私は自分のオブジェクトを作成します:
そして、私がこれを試した後:
しかし、私には例外があります:
私を助けてくれませんか?
ありがとうございます。
netty - 文字列を含むメッセージの Netty コーデック
Netty 4.0.19 クライアント サーバー アプリのパフォーマンスが遅いため、コーデックが悪いのではないかと疑っています。単純なメッセージ オブジェクトは、整数 ID と、それに付随する長さを持つ 2 つの文字列で構成されます。ReplayingDecoder で CharsetDecoder を使用して、バイトから文字列を取得します。
ByteToMessageDecoder では、シリアル化に高速な Kryo ライブラリを使用します (ここで間接ヒープ バッファーを作成することは避けられますか?)。
現在、ReplayingDecoder は何とか ByteToMessageDecoder を上回っているようです。また、DefaultEventExecutorGroup でいくつかの単純なバックエンド ロジックを実行しています (イベント スレッドをブロックしないと思います)。これは HashMaps を検索し、writeAndFlush を使用して ChannelHandlerContext にメッセージを書き込みます。ありがとう