Informaticaでの変換のタイプ
PrithvirajBoseによる寄稿
ブロードキャスト変数は、大きなデータセットをエグゼキュータにキャッシュする必要がある場合に役立ちます。このブログでは、開始方法について説明しています。
ブロードキャスト変数とは何ですか?
Apache Sparkのブロードキャスト変数は、読み取り専用であることが意図されているエグゼキューター間で変数を共有するためのメカニズムです。ブロードキャスト変数がないと、これらの変数は変換とアクションごとに各エグゼキュータに送信され、ネットワークのオーバーヘッドが発生する可能性があります。ただし、ブロードキャスト変数を使用すると、それらはすべてのエグゼキュータに一度出荷され、将来の参照用にキャッシュされます。
ブロードキャスト変数のユースケース
変換を実行しているときに、郵便番号/ PINコードの大きなテーブルを検索する必要があると想像してください。ここでは、大きなルックアップテーブルを毎回エグゼキュータに送信することも、データベースに毎回クエリを実行することもできません。解決策は、このルックアップテーブルをブロードキャスト変数に変換することです。Sparkは、将来の参照のためにすべてのエグゼキュータにキャッシュします。
上記の概念を理解するために簡単な例を見てみましょう。国とその首都の名前が記載されたCSVファイルがあります。 CSVファイルが見つかります ここに 。
オラクルストアドプロシージャでの例外処理
国の人口統計データを処理していて、その国の首都を取得する必要があると仮定します。この場合、CSVファイルのデータをブロードキャスト変数に変換できます。
最初にCSVファイルをマップにロードします。ファイルが見つかった場合、メソッドは いくつかの国) それ以外の場合は戻ります 無し 。
CSVファイルが正常に読み込まれた後、マップをブロードキャスト変数に変換し、プログラムで使用します。
上記のコードスニペットでは、CSVファイルを地図に読み込みます 国 次に、そのマップをブロードキャスト変数に変換します countrysCache 。続いて、のキーからRDDを作成します。 国 。の中に searchCountryDetails このメソッドは、ユーザー定義の文字で始まるすべての国を検索し、メソッドは国のRDDとその首都を返します。ブロードキャスト変数 countrieCache 首都を検索するために使用されます。
このようにして、検索が必要になるたびにCSVデータ全体を送信する必要はありません。
のコード searchCountryDetails 以下に示します、
ソースコード全体を見つけることができます ここに 。
質問がありますか?コメントセクションでそれらに言及してください。折り返しご連絡いたします。
関連記事:
Javaの例の可変クラス