処理を並列に実行したい

キーワード:スレッド,並行処理,処理時間短縮
シナリオ一覧に戻る

概要

処理を並列に実行し、処理時間の短縮を図りたい場合、スレッド処理を使用します。

サンプルプロジェクトの説明

CSVファイルを読み取り、ファイルの編集と書き出しを並列で実行します。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. CSVファイル読み取り処理」で入力ファイルを読み取ります。
  2. スレッド処理」で処理を分岐します。
  3. 分岐した処理それぞれで「マッピング処理」でデータ編集を行い、「CSVファイル書き込み処理」で出力ファイルを書き込みます。
  4. スレッド処理」を終了します。
処理が並列に実行されていることは、ログレベル「DEBUG」でスクリプトを実行し、実行ログを参照することで確認できます。

ポイントとなる機能

名前 説明 ツールパレット上の場所
スレッド処理 スレッド開始アイコンからスレッド終了アイコンまでの間の処理をスレッドで実行します。 「基本」-「フロー」-「スレッド」

処理のポイント

スレッド開始前のCSV読み取り処理から、スレッド開始後のマッピングそれぞれにデータフローを引くことができます。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトファイル名 rl_reference_050.zip
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_050.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_050.zip」を展開後に作成される「rl_reference_050プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_050プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_050.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。

  2. デザイナのツールパレット「基本」-「フロー」-「スレッド」から、スレッド処理をスクリプトキャンバスに配置します。

    処理のポイント
    • スレッド開始アイコンからスレッド終了アイコンまでの間の処理を並列に実行します。

  3. デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理(「mapping」)をスクリプトキャンバスに配置します。

  4. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。

  5. マッピング処理(「mapping」)のMapperエディタを開き、入力元の「ランダム値」に「2」を掛けて「結果値」に出力する処理を作成します。

  6. デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理(「mapping(1)」)をスクリプトキャンバスに配置します。

  7. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。

  8. マッピング処理(「mapping(1)」)のMapperエディタを開き、入力元の「ランダム値」を「2」で割って「結果値」に出力する処理を作成します。

  9. スクリプトを実行し、正常終了すれば成功です。