私はいくつかのorder
ストリームを処理するためにスパークストリーミングを使用しようとしていますが、のorder
のストリームに以前の計算フィーチャーがあります。スパークストリーミングは事前に計算されたフィーチャーを得る
スパークストリーミングの実行中にこれらの機能を取得する必要があります。
今、私はハイブテーブルにbuyer_id
機能を保存し、事前に計算機能を取得するためにRDD
と
val buyerfeatures = loadBuyerFeatures() orderstream.transform(rdd => rdd.leftOuterJoin(buyerfeatures))
これに対処する別の方法は、機能をhbase
テーブルに保存することです。すべてbuyer_id
に乗ってください。
どれが良いですか?あるいは私は別の方法でこれを解決することができます。私の短い経験から
ここでは、事前に計算されたデータをロードしてキャッシュし、DStreamで結合操作を実行します。 – tintin
はい、非常に良いです。 もし私が提案しているのであれば、RDDにロードしてforeachRDDでJoin操作をエンベロープします.DstreamはbathcTimeIntervalごとに更新されるため、あなたのケースでは使用できません。 – Vale