問題タブ [rdd]

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

apache-spark - 大きなRDDと複数の小さなRDD

過去のデータ:

  1. GRP や CPP などの履歴情報を含むアクティビティごとに複数のテーブルがあります。
  2. アクティビティごとに GRP と CPP が定義されている複数のディメンションがあります。
    ディメンション - Geography、TimePeriod、Primary_Message
  3. 各アクティビティには、これらのディメンションのサブセットが含まれる場合があります

使用事例:

  1. すべての活動について、期間全体のデータを表示したい場合があります (このディメンションはすべての活動で使用できます)。

  2. 地理的にデータを表示したい場合があります (このディメンションはいくつかのアクティビティに存在します)。

すべてのユースケースが効率的に機能するように RDD を設計する必要があります。

どの時点でも、各ジョブは 1 つのアクティビティに対応します。

私には2つの選択肢があります -

  1. アクティビティごとに 1 つの RDD を作成し、そのテーブルのディメンション間で分割します。したがって、アクティビティと同じ数の RDD があります。
    ジョブごとに、特定の RDD にアクセスして計算します

  2. すべてのアクティビティに対して 1 つの RDD を作成し、いくつかのディメンションでそれを分割し
    ます。ジョブごとに、1 つの大きな RDD にアクセスし、アクティビティの RDD でフィルターを実行し、計算を行います。

私の質問は、ユースケースと仮定を考慮して、RDD を設計するのにどのオプションがより効率的かということです。

ティア!

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

scala - scala を使用して Apache Spark で異なる RDD のデータセットを連結する

RDDsparkで 2 つの異なる のデータセットを連結する方法はありますか?

要件は-同じ列名を持つscalaを使用して2つの中間RDDを作成し、両方のRDDのこれらの結果を結合し、UIにアクセスするために結果をキャッシュする必要があります。ここでデータセットを結合するにはどうすればよいですか?

RDD はタイプspark.sql.SchemaRDD

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

scala - 他のRDDマップメソッドでRDDを使用するには?

index: RDD[(String, String)] という名前の rdd を取得しました。index を使用してファイルを処理したいと考えています。これはコードです:

問題は、file.map 関数で index を使用できないことです。このプログラムを実行したところ、次のようなフィードバックが得られました。

どうしてか分かりません。そして、この機能を実装したい場合はどうすればよいですか? ありがとう

0 投票する
4 に答える
77785 参照

scala - Spark SQL を使用して/使用せずに 2 つの通常の RDD を結合する

RDDs1つまたは複数の列で2つの通常を結合する必要があります。論理的には、この操作は 2 つのテーブルのデータベース結合操作と同等です。これだけで可能なのか、Spark SQLそれとも他の方法があるのか​​ 疑問に思います。

具体的な例として、r1主キーを持つ RDD を考えてみましょうITEM_ID:

r2主キーを持つRDD COMPANY_ID

参加したいr1r2.

これはどのように行うことができますか?

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

scala - RDD を標準化する

double の RDD があり、次のように「標準化」したいとします。

  1. 各列の平均と標準偏差を計算します
  2. 列ごとに、各エントリから列平均を引き、結果を列 sd で割ります

これを効率的かつ簡単に行うことはできますか (どの段階でも RDD を double 配列に変換する必要はありません)。

よろしくお願いいたします。

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

apache-spark - RDD を更新するには?

履歴データをRDDセットに移動するSparkフレームワークを開発しています。

基本的に、RDD は不変で、操作を行う読み取り専用のデータセットです。それに基づいて、履歴データを RDD に移動し、そのような RDD でフィルタリング/マッピングなどの計算を行います。

現在、RDD 内のデータのサブセットが更新され、値を再計算する必要があるユース ケースがあります。

HistoricalData は RDD の形式です。リクエスト スコープに基づいて別の RDD を作成し、その RDD の参照をScopeCollectionに保存します。

これまでのところ、以下のアプローチを考えることができました-

アプローチ 1: 変更をブロードキャストします。

  1. 変更リクエストごとに、サーバーはスコープ固有の RDD をフェッチし、ジョブを生成します
  2. ジョブで、その RDD にマップ フェーズを適用します -

    2.a。RDD の各ノードに対して、ブロードキャストでルックアップを実行し、現在更新されている新しい値を作成して、新しい RDD を作成し
    ます。次に、step2.a で、この新しい RDD に対してすべての計算を再度実行します。乗算、削減など
    2.c. この RDD 参照を ScopeCollection に保存します

アプローチ 2: 更新用の RDD を作成する

  1. 変更リクエストごとに、サーバーはスコープ固有の RDD をフェッチし、ジョブを生成します
  2. 各RDDで、変更のある新しいRDDと結合します
  3. ステップ 2 で、この新しい RDD で乗算、リダクションなどのすべての計算を再度実行します。

アプローチ 3:

同じRDDを更新し続けて再計算するストリーミングRDDを作成することを考えていました。しかし、私が理解している限りでは、Flume または Kafka からストリームを受け取ることができます。私の場合、値はユーザーの操作に基づいてアプリケーション自体で生成されます。したがって、私のコンテキストでは、ストリーミング RDD の統合ポイントが見当たりません。

どのアプローチが優れているか、またはこのシナリオに適した他のアプローチに関する提案。

ティア!

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

scala - タイプを変更して値を結合するためにreduceBykeyを使用できますか? - Scala Spark?

以下のコードでは、値を結合しようとしています:

reduceByValue(a , 1,3,2) を含める必要がありますが、コンパイル時エラーが発生します:

reduce 関数の型を決定するものは何ですか? 型変換できないの?

同じ結果を得るために使用できますgroupByKeyが、理解したいだけですreduceByKey

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

java - Spark は、2 つのワーカーを持つクラスターの JdbcRDD で NullPointerException をスローします。

それぞれ 60 GB の 2 つのワーカーで Spark クラスターを実行しています。

以下の JdbcRDD のコードを書きました。

GetJdbcResult のコードは

}

上記のコードは正常に動作しますが、スタンドアロン モード (ローカル*) で Spark を実行しますが、クラスター環境を使用すると、以下のエラーがスローされます。

ドライバースタックトレース:

ワーカー ログにトレース/ログはありません。ここで何か間違っていますか?誰でも何か考えがありますか?