DataStage からのデータのロード

IBM® InfoSphere® DataStage® サーバーを使用して、ご使用のデータベースにデータをロードできます。

前提条件

バルク・ロード操作を実行するユーザー ID に以下のいずれかの特権が付与されていることを確認してください。
  • BIND: DB2® クライアント・パッケージをバインドするために必要。
  • EXECUTE: DataStage 管理者が Db2 クライアント・パッケージを事前バインドしている場合は、それらのパッケージに対する EXECUTE 特権を付与してください。

DataStage でのデータベース接続の定義

DataStage and Quality Stage Designer (DataStage Designer) から、Db2 データベース BLUDB への接続を定義する必要があります。必要な接続情報は、Web コンソールに記載されています。DataStage の Db2 データベースへの接続も参照してください。

データをロードするジョブの定義

DataStage Designer を使用して、ソース・データベースから BLUDB データベースにデータをロードする並列ジョブを定義して実行します。

このタスクには、以下の前提条件があります。

  • 行をまったく含まないターゲット表がターゲット BLUDB データベースになければなりません。 このような表は、Web コンソールの「表」ページで作成できます。
  • ソース・データベースが DataStage サーバーにカタログされていて、ソース表の定義が DataStage サーバーにインポートされていなければなりません。
  • DataStage Designer が DataStage サーバーに接続されていて、ソース・データベースの接続オブジェクトを含んでいなければなりません。

BLUDB データベースにデータをロードする DataStage ジョブを定義するには、以下のようにします。

  1. DataStage Designer から、「ファイル」 > 「新規」 > 「並列ジョブ (Parallel Job)」をクリックして、ジョブを作成するためのワークスペースを開きます。
  2. ソースおよびターゲットの Db2 コネクター・オブジェクトを「ジョブ」ウィンドウに追加して、それらの間のリンクを作成します。
    1. 「データベース」パレットから、2 つの Db2 コネクター・オブジェクトを「ジョブ」ウィンドウにドラッグします (1 つはソース・データベース接続のコネクター・オブジェクト、1 つはターゲット・データベース接続のコネクター・オブジェクト)。
    2. 「一般」パレットから、「リンク」を選択します。
    3. 一方の Db2 コネクター・オブジェクトからもう一方のコネクター・オブジェクトにカーソルをドラッグして、リンクを作成します。
      DataStage の並列処理
  3. ロード処理のソース・データを定義します。
    1. ソース・データベースへの接続を表す Db2 コネクター・オブジェクトをダブルクリックして、「Db2 コネクター (Db2 Connector)」ウィンドウを開きます。
    2. 「プロパティー」タブで、「ロード」をクリックします。
    3. ソース・データベース接続を選択し、「開く」をクリックします。
    4. 「インスタンス」フィールドで、値を DataStage インスタンスの名前にしておきます。
    5. 「データベース」フィールドに、ソース・データベースの名前を入力します。
    6. 「使用 (Usage)」域で、「SQL の生成 (Generate SQL)」オプションに「はい」を選択します。
    7. 「表名」フィールドに、ロードするデータが含まれている表の名前を入力します。
      ソース Db2 コネクター
    8. 「列」タブで、「ロード」をクリックして「表定義」ウィンドウを開きます。
    9. ロードするデータが含まれているソース表の定義を開きます。「OK」をクリックすると、「列」タブに列が表示されます。
    10. ソース表からロードする列を選択します。
    11. 「Db2 コネクター (Db2 Connector)」ウィンドウで、「OK」をクリックします。
  4. BLUDB データベースでのロード処理のターゲット・データを定義します。
    1. ターゲット BLUDB データベースへの接続を表す Db2 コネクター・オブジェクトをダブルクリックして、「Db2 コネクター (Db2 Connector)」ウィンドウを開きます。
    2. 「プロパティー」タブで、「ロード」をクリックします。
    3. ターゲット・データベース接続を選択し、「開く」をクリックします。
    4. 「インスタンス」値を DataStage インスタンスの名前にしておきます。
    5. 「データベース」フィールドに、ターゲット BLUDB データベースの名前を入力します。
    6. 「使用 (Usage)」域で、「SQL の生成 (Generate SQL)」オプションに「はい」を選択します。
    7. 「書き込みモード」フィールドで、「バルク・ロード (Bulk load)」を選択します。
    8. 「表名」フィールドに、BLUDB データベース内のターゲット表の名前を入力します。
      ターゲット Db2 コネクター
    9. 「Db2 コネクター (Db2 Connector)」ウィンドウで、「OK」をクリックします。
  5. 「ファイル」 > 「保存」をクリックしてジョブを保存します。

    オプション: 以下のステップは、SSL 接続でターゲット BLUDB にデータがロードされる場合のみ必要となります。

  6. 「ファイル」 > 「閉じる」をクリックしてジョブを閉じます。
  7. DB2CLIINIPATH を実行オプションとして設定します。
    1. 左の「リポジトリー」ペインで、ジョブにナビゲートして右クリックし、「プロパティー」を選択します。
    2. 「パラメーター」タブで、「環境変数の追加 (Add Environment Variable)」をクリックします。
    3. 「環境変数の選択 (Choose Environment Variable)」ボックスで、「新規」をクリックして、「名前」フィールドに DB2CLIINIPATH を、「プロンプト」フィールドに DB2CLIINIPATH を入力します。 「OK」をクリックします。
    4. 新しく追加した変数に次のプロパティーが設定されていることを確認します。
      Parameter name :  $DB2CLIINIPATH
      Prompt : DB2CLIINIPATH
      Type : String
      Default Value : /home/db2inst2/sqllib/cfg/db2cli.ini

詳しくは、IBM Db2 コネクターを参照してください。

データをロードするジョブのコンパイルと実行

データをロードするジョブを作成したら、そのジョブをコンパイルした後、ロード処理を実行できます。

  1. DataStage Designer ワークスペースでジョブを開いておき、「ファイル」 > 「実行」をクリックして、ジョブで定義されたロード処理のコンパイルを開始します。
  2. ジョブのコンパイルを求めるプロンプトが出されたら、「はい」を選択します。 ジョブに関するエラーを受け取った場合は、ジョブ・ワークスペースを使用してエラーを修正した後、「ファイル」 > 「実行」をクリックしてコンパイル処理を再始動します。 ジョブが正常にコンパイルされると、「実行オプション (Run Options)」ウィンドウが開きます。
  3. 「実行」をクリックしてロード処理を開始します。
  4. ロード処理が完了すると、ジョブ・ワークスペースの「ログの表示 (Log View)」域に、ターゲット BLUDB データベースに挿入された行数が表示されます。
    ジョブ・ワークスペースの「ログの表示 (Log view)」
  5. ロード処理が正常に完了したことを確認します。例えば、ソース表とターゲット表の行数を比較します。 ソース表の行数を取得するには、ソース・データベースに対して次のコマンドを発行します。

    select count(*) from SCHEMA.TABLENAME

    ロード処理が正常に完了していたら、ターゲット BLUDB データベース表の行数がソース表の行数と一致します。

詳しくは、DataStage 資料の IBM Db2 データベースを参照してください。