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

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

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.

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

apache-spark - Spark RDD から Kryo ファイルを読み取る

私はSparkとScalaの初心者です。

Kryo をシリアル化して scala コードに記述したファイルを Spark で読み取り、分析する必要があります。

これは、複雑なオブジェクトであるシリアル化されたオブジェクト (myScalaObject) を使用してファイルを作成するための疑似コードです。

ファイルはうまく書いているようですが、Spark RDD で読むと問題が発生します

Spark の擬似コード:

実行しようとすると、次のエラーが表示されます。

このタイプのファイルを Spark で読み取ることは可能ですか?

この解決策が不可能な場合、複雑なファイル構造を作成して Spark で読み取るための適切な解決策は何ですか?

ありがとうございました

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

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 つのオブジェクトのみを使用する方がよいでしょうか?

一部のクラスにはデフォルトのコンストラクターがありません。どうすればそれを組み込むことができますか?

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

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 をロードできますか?

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

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 にダウングレードしようとしましたが、上記と同じ問題に直面しています。

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

java - Titan データベースで kryo を使用してオブジェクトをシリアル化する

Titan データベースで基本的なオブジェクトをシリアル化します。しかし、うまくいきません。オブジェクトをシリアライズして、タイタンデータベースに登録したいと思います。しかし、なぜこの問題があるのか​​ わかりません。私はソース コードを投稿します。ドキュメントがあれば、喜んで受け入れます。

通常、私は自分のオブジェクトを作成します:

そして、私がこれを試した後:

しかし、私には例外があります:

私を助けてくれませんか?

ありがとうございます。

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

netty - 文字列を含むメッセージの Netty コーデック

Netty 4.0.19 クライアント サーバー アプリのパフォーマンスが遅いため、コーデックが悪いのではないかと疑っています。単純なメッセージ オブジェクトは、整数 ID と、それに付随する長さを持つ 2 つの文字列で構成されます。ReplayingDecoder で CharsetDecoder を使用して、バイトから文字列を取得します。

ByteToMessageDecoder では、シリアル化に高速な Kryo ライブラリを使用します (ここで間接ヒープ バッファーを作成することは避けられますか?)。

現在、ReplayingDecoder は何とか ByteToMessageDecoder を上回っているようです。また、DefaultEventExecutorGroup でいくつかの単純なバックエンド ロジックを実行しています (イベント スレッドをブロックしないと思います)。これは HashMaps を検索し、writeAndFlush を使用して ChannelHandlerContext にメッセージを書き込みます。ありがとう