0

私は Spark と Cassandra の新しい学習者です。重大なパフォーマンスの問題に直面しています。Spark で 5 秒ごとに Kafka からデータをストリーミングし、JRI を使用して R 言語でデータを分析し、最終的にデータを Cassandra のそれぞれの列ファミリーに保存しています。データを Cassandra に保存するための時間 (ミリ秒単位) は、入力要求の数に応じて急速に増加します [各要求は 200 KB]。

スパークパフォーマンス

スパークコード:

 sessionData.foreachRDD(new Function<JavaRDD<NormalizedData>, Void>() {
    public Void call(JavaRDD<NormalizedData> rdd)     {
System.out.println("step-3 " + System.currentTimeMillis());
javaFunctions(rdd).writerBuilder("keyspace",normalized_data",mapToRow(NormalizedData.class)).saveToCassandra();
System.out.println("step-4 " + System.currentTimeMillis());}}
4

3 に答える 3

0

同じサーバーで Spark と Cassandra を使用することで、同じパフォーマンスを向上させることができました。この遅延は、Spark と Cassandra が AWS の同じリージョンにあるにもかかわらず、別のサーバーにあったためです。データの局所性に影響を与える主な原因は、ネットワークの遅延でした。ありがとう。

于 2016-01-09T02:21:29.857 に答える
0

Spark-Cassandra コネクタのチューニングについては、このブログを参照できます。期待できるパフォーマンス数値についてのアイデアが得られます。また、Spark データベースである別のオープン ソース製品 SnappyData を試すこともできます。これにより、ユース ケースで非常に高いパフォーマンスが得られます。

于 2017-05-12T17:55:21.137 に答える