問題タブ [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.
cassandra - kafka spark-streaming データが cassandra に書き込まれません。ゼロ行が挿入されました
spark から cassandra にデータを書き込んでいる間、データが書き込まれません。
フラッシュ バックは次のとおりです。
私は kafka-sparkStreaming-cassandra の統合を行っています。
私はカフカのメッセージを読んでいて、それをカサンドラのテーブルに入れようとしていますCREATE TABLE TEST_TABLE(key INT PRIMARY KEY, value TEXT)
。
kafka から spark-streaming への移行は問題なく実行されていますが、spark から cassandra への移行には問題があります... データがテーブルに書き込まれません。
Cassandra との接続を作成できますが、データが Cassandra テーブルに挿入されません。出力は、接続され、次の秒で切断されることを示しています。
の文字列System.out.print()
はすべて出力にあります。
Cassandra シェルに 0 行が表示されます。
完全なコードとログと依存関係は以下のとおりです。
ログは次のとおりです。
POM.xml の依存関係は次のとおりです。
コードに何か問題がありますか?またはcassandra構成?
apache-spark - 単純なスパーク ストリーミングを実行するのが難しいのはなぜですか? スパーク 1.1.1 Maven の依存関係
Spark ストリーミングを使用しています。spark1.0.2 を使用していたときは正常に動作していましたが、今ではいくつかの問題が繰り返し発生しています。
クラスが見つからないのと同じように、spark-core、ストリーミング、kafka モジュールでのストリーミングを使用しているすべての spark モジュールの更新されたバージョンで同じ pom.xml を使用しています。
commons-configation、commons-langs、loggingがないために常にエラーをスローし続けます
スパークストリーミングを実行するためのすべての依存関係を取得する方法.方法はありますか、それとも試行錯誤の方法で見つける必要がありますか?
私のポンポンの依存関係
ここで何か不足していますか?
apache-spark - ほとんどのデータをドロップする Spark カスタム ストリーミング
Spark カスタマー レシーバーで利用可能な spark サイトに示されているように、カスタマー レシーバーを使用した Spark ストリーミングの例に従っています。
ただし、ジョブはほとんどのデータを削除するようです。ストリーミングするデータの量に関係なく、コンシューマで正常に受信されます。ただし、マップ/フラットマップ操作を行うと、10 行のデータしか表示されません。これは、ストリーミングするデータの量に関係なく、常に当てはまります。
ActiveMQ
このプログラムを変更して、キューから読み取るようにしました。ActiveMQ Web インターフェイスを見ると、spark ジョブは生成したすべてのデータを正常に消費しています。ただし、バッチごとに 10 個のデータのみが処理されます。バッチサイズをさまざまな値に変更して、ローカルおよび6ノードのsparkクラスターで試してみましたが、どこでも同じ結果でした。
限られた量のデータが処理されている理由がわからないので、本当にイライラします。私がここに欠けているものはありますか?
これが私のスパークプログラムです。カスタムレシーバーが付属。また、実際にはソケット接続を作成していません。代わりに、テスト目的でメッセージをハードコーディングしています。ストリームに対してソケット接続を作成した場合と同じように動作します。
apache-spark - RDD を更新するには?
履歴データをRDDセットに移動するSparkフレームワークを開発しています。
基本的に、RDD は不変で、操作を行う読み取り専用のデータセットです。それに基づいて、履歴データを RDD に移動し、そのような RDD でフィルタリング/マッピングなどの計算を行います。
現在、RDD 内のデータのサブセットが更新され、値を再計算する必要があるユース ケースがあります。
HistoricalData は RDD の形式です。リクエスト スコープに基づいて別の RDD を作成し、その RDD の参照をScopeCollectionに保存します。
これまでのところ、以下のアプローチを考えることができました-
アプローチ 1: 変更をブロードキャストします。
- 変更リクエストごとに、サーバーはスコープ固有の RDD をフェッチし、ジョブを生成します
- ジョブで、その RDD にマップ フェーズを適用します -
2.a。RDD の各ノードに対して、ブロードキャストでルックアップを実行し、現在更新されている新しい値を作成して、新しい RDD を作成し
ます。次に、step2.a で、この新しい RDD に対してすべての計算を再度実行します。乗算、削減など
2.c. この RDD 参照を ScopeCollection に保存します
アプローチ 2: 更新用の RDD を作成する
- 変更リクエストごとに、サーバーはスコープ固有の RDD をフェッチし、ジョブを生成します
- 各RDDで、変更のある新しいRDDと結合します
- ステップ 2 で、この新しい RDD で乗算、リダクションなどのすべての計算を再度実行します。
アプローチ 3:
同じRDDを更新し続けて再計算するストリーミングRDDを作成することを考えていました。しかし、私が理解している限りでは、Flume または Kafka からストリームを受け取ることができます。私の場合、値はユーザーの操作に基づいてアプリケーション自体で生成されます。したがって、私のコンテキストでは、ストリーミング RDD の統合ポイントが見当たりません。
どのアプローチが優れているか、またはこのシナリオに適した他のアプローチに関する提案。
ティア!
apache-spark - Java でスパーク ストリーミングを介して Twitter ストリームに地理位置情報フィルターを追加します。
特定の地理的位置のみに関連するツイートが必要です。グーグルで調べたところ、TwitterUtils および TwitterInputDStream クラスに追加のメソッド/機能を追加することでこれを実現できることがわかりました。しかし、これらは最終クラスであるため、そうすることができません。
どうすればこれを達成できますか?
前もって感謝します。