問題タブ [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 に答える
4933 参照

scala - HbaseへのSpark rdd書き込み

以下のコードを使用して、Kafka からのメッセージを読み取ることができます。

しかし、私は Kafka からの各メッセージを読み取って HBase に入れようとしています。これは HBase に書き込むコードですが、成功しません。

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

java - マスター URL を解析できませんでした: 'spark:http://localhost:18080'

コードを実行しようとすると、次のようにスローされますException

これは私のコードです:

どうすればこの問題を解決できますか?

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

scala - スパーク ストリーミングで失われた接続を検出する

現在、Apache Spark Streaming を使用しています。ストリーミングを停止してデータ ソースへの接続を再開できるように、外部データ ソースとの接続が失われたかどうかを検出する方法を知りたいです。

助けてくれてありがとう

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

java - 個別の要素のスパーク ストリーミングとバッチ モードの間でのコードの再利用

私は Spark 初心者で、spark ストリーミングと spark バッチを使用してラムダ アーキテクチャを実装したいと考えています。

ネットで調べていたら、以下の記事を見つけました。

http://blog.cloudera.com/blog/2014/08/building-lambda-architecture-with-spark-streaming/

これは私の分析の一部では問題ありませんが、個別の要素を見つける必要がある場合、この解決策は実行可能ではないと思います。

JavaRDD で個別の要素を見つけたい場合は、distinct メソッドを使用できます。DStreams は RDD のセットなので、適用する場合

Dstream のメソッドでは、ストリームの各 rdd で個別を実行するため、DStream 全体ではなく、各 RDD で個別の要素を見つけることができます。

そのように書くと少し混乱するかもしれないので、例を挙げて明確にしましょう:

次の要素があります。

バッチ アプリで:

子 RDD には以下が含まれます。

私が正しく理解していれば、これはストリームの動作であるはずです:

1 秒のバッチ時間と 2 秒のウィンドウがあるとします。

最初のRDD:

2 番目の RDD:

2 つの Rdd で終了します。

2番:

これはRDDに関しては明確ですが、DStreamに関してはそうではありません。

ストリーミング部分の私の解決策は次のとおりです。

このようにして、結果は次のようになります。

バッチモードとして。ただし、このソリューションにはメンテナンスのオーバーヘッドが必要であり、コード ベースの重複に起因するエラーのリスクがあります。

バッチ モードのコードを可能な限り再利用して、同じ結果に到達するためのより良い方法はありますか?

前もって感謝します。

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

java - Spark Core と Spark Streaming のみをコンパイルするにはどうすればよいですか (ストリーミングの単体テスト ユーティリティを取得できるようにするため)。

私は現在、Spark ストリーミング アプリケーションを開発しており、最初の単体テストを作成しようとしています。このアプリケーションには Java を使用しましたが、単体テストを作成するためにも Java (および JUnit) を使用する必要があります。

Spark Streaming 単体テストに焦点を当てたドキュメントは見つかりませんでした。Spark Streaming ソース コードの Java ベースの単体テストしか見つかりませんでした。

https://github.com/apache/spark/blob/branch-1.1/streaming/src/test/java/org/apache/spark/streaming/JavaAPISuite.java

これは Scala ファイルに依存します:

https://github.com/apache/spark/blob/branch-1.1/streaming/src/test/java/org/apache/spark/streaming/JavaTestUtils.scala

これは、次の Scala テスト ファイルに依存します。

https://github.com/apache/spark/tree/branch-1.1/streaming/src/test/scala/org/apache/spark/streaming

そこで、Spark のソース コードを取得し、branch-1.1 ブランチに切り替えて、「コア」モジュールと「ストリーミング」モジュールのみをコンパイルし、最終的にストリーミング テスト ユーティリティのコンパイル済みクラス (または jar ファイル) を取得できると考えました。 Java ベースの Spark Streaming アプリケーションにインポートできることを確認しました。

ただし、次のコマンド ラインでビルドしようとすると失敗しました。

このメッセージの最後に完全な出力が表示されます。

進行する方法はありますか?

ビルドの完全な出力:

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

apache-spark - Apache Spark Streaming - カフカ - 古いメッセージを読む

Spark ストリーミングを使用して Kafka から古いメッセージを読み取ろうとしています。ただし、リアルタイムで送信されたメッセージしか取得できません (つまり、spark プログラムの実行中に新しいメッセージを入力すると、それらのメッセージが取得されます)。

私の groupID と consumerID を変更して、zookeeper が私のプログラムが以前に見たことを知っているメッセージを出していないことを確認しています。

spark が Zookeeper のオフセットを -1 と見なしていると仮定すると、キュー内のすべての古いメッセージを読み取るべきではありませんか? カフカキューの使用方法を誤解しているだけですか? 私はスパークとカフカに非常に慣れていないので、何かを誤解しているだけである可能性を排除できません。

これを実行すると、次のメッセージが表示されます。したがって、オフセットが設定されているためにメッセージが表示されないだけではないと確信しています。

14/12/05 13:34:08 INFO ConsumerFetcherManager: [ConsumerFetcherManager-1417808045047] パーティション ArrayBuffer([[testtopic,0], initOffset -1 のフェッチャーをブローカー id:1,host:test-spark02.vpc,port: に追加しました: 9092] , [[testtopic,1], initOffset -1 からブローカー ID:1,host:test-spark02.vpc,port:9092] , [[testtopic,2], initOffset -1 からブローカー ID:1,host: test-spark02.vpc,port:9092] , [[testtopic,3], initOffset -1 からブローカー ID:1,host:test-spark02.vpc,port:9092] , [[testtopic,4], initOffset -1ブローカー ID:1、ホスト:test-spark02.vpc、ポート:9092] へ)

次に、1000 件の新しいメッセージを入力すると、一時ディレクトリに保存された 1000 件のメッセージが表示されます。しかし、既存のメッセージの読み方がわかりません。(この時点で) 数万に上るはずです。