問題タブ [spark-streaming]

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 投票する
2 に答える
7384 参照

cassandra - バッチ RDD の結果を Apache Spark のストリーミング RDD と組み合わせる

コンテキスト: Apache Spark を使用して、ログからさまざまな種類のイベントの実行中のカウントを集計しています。ログは、履歴分析用の Cassandra とリアルタイム分析用の Kafka の両方に保存されます。各ログには、日付とイベント タイプがあります。簡単にするために、1 日ごとに 1 つのタイプのログの数を追跡したいとします。

Cassandra からのバッチ データの RDD と、Kafka からの別のストリーミング RDD の 2 つの RDD があります。擬似コード:

質問: streamRDD の結果を batchRDD と組み合わせるにはどうすればよいですか? batchRDD次のデータがあり、このジョブが 2014 年 10 月 16 日に実行されたとします 。

Cassandra クエリにはバッチ クエリの開始時刻までのすべてのデータしか含まれていないため、ジョブの開始時刻以降のログのみを考慮して、クエリが終了したときに Kafka から読み取る必要があります。クエリには長い時間がかかると想定しています。これは、履歴結果とストリーミング結果を組み合わせる必要があることを意味します。

説明のために:

次に、最初のストリーム バッチで次のデータを取得したとします。

次に、バッチ RDD をこのストリーム RDD と組み合わせて、ストリーム RDD が次の値を持つようにします。

次に、2 番目のストリーム バッチで次のデータを取得したとします。

次に、ストリーム RDD を更新して、次の値を取得する必要があります。

等々...

を使用streamRDD.transformToPair(...)して streamRDD データを batchRDD データと結合するために使用することは可能joinですが、これをストリーム チャンクごとに行うと、ストリーム チャンクごとに batchRDD からのカウントを追加することになり、状態値が「ダブル カウント」されます。最初のストリーム チャンクにのみ追加する必要があります。

0 投票する
3 に答える
2441 参照

spark-streaming - updateStateByKey の問題を伴う 24 時間 365 日の Spark ストリーミング

24 時間年中無休でスパーク ストリーミングを実行していて、updateStateByKey を使用しています。スパーク ストリーミングを 24 時間年中無休で実行することは可能ですか? はい、updateStateByKey が大きくならない場合、どのように処理しますか? updateStateByKey を 24 時間年中無休で実行する場合、定期的にリセット/削除する必要がありますか? または、Spark は分散された方法で処理しますか? メモリ/ストレージを動的に作成する方法。

updateStateByKey が大きくなると、次のエラーが発生します。

これを処理する方法..ドキュメントがある場合は教えてください。私は完全に立ち往生しています。どんな助けも大歓迎です..時間をありがとう

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

scala - Spark Streaming で DStream から RDD を削除するにはどうすればよいですか?

DStream から最初の n 個の RDD を削除したいと思います。変換とともに次の関数を使用しようとしましたが、機能しません (エラー OneForOneStrategy: org.apache.spark.SparkContext java.io.NotSerializableException)。RDD を削除するという私の本当の目標を達成できるとは思いません。空のものが返されるためです。

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

scala - updateStateByKey を使用すると、タスクのサイズが大きくなり続けるのはなぜですか?

問題が updateFunc によるものかどうかを確認するために、updateStateByKey で使用する簡単な関数を作成しました。何か別の原因があるに違いないと思います。--master local[4] でこれを実行しています。

しばらくすると、警告が表示され、タスク サイズが増え続けます。

警告 TaskSetManager: ステージ x には非常に大きなサイズ (129 KB) のタスクが含まれています。推奨される最大タスク サイズは 100 KB です。

警告 TaskSetManager: ステージ x には非常に大きなサイズ (131 KB) のタスクが含まれています。推奨される最大タスク サイズは 100 KB です。

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

spark-streaming - Spark Shell が Hbase クラスを見つけることができません

Spark Streaming を使用して、HDFS から Hbase テーブルにデータをロードしようとしています。HDFS ディレクトリ ランタイムにデータを配置し、textFileStream 関数を使用してそれを読み取ります。spark はクラスパスに hbase jar を持っていないため、spark シェルで Hbase jar をインポートしている間でもエラーが発生します。

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

scala - Spark: PartialFunction を DStream に渡すにはどうすればよいですか?

スライディング ウィンドウで DStream バッチでキャプチャされたすべての RDD の結合に部分関数を渡そうとしています。1 秒のバッチに離散化されたストリームで 10 秒以上のウィンドウ操作を構築するとします。

windowはK個のRDDを持っています。collect(f: PartialFunction[T, U])これらの RDD のすべての K の和集合で使用したいと思います。++を使用してユニオン演算子を呼び出すこともできますが、 not aを返し、副作用を回避foreachRDDしたいと考えています。RDDUnit

私が探しているのは、次のようなリデューサーです

次のDStreamように使用できます。

ただし、これは Spark Streaming API では利用できません。

部分関数を渡すことができるように、ストリームでキャプチャされた RDD を単一の RDD に結合するための良いアイデアはありますか? または、独自のRDDレデューサーを実装するためですか? おそらく、この機能は後続の Spark リリースで提供されるのでしょうか?