ステップ: スクリプト化されたデータ ソースの設定
スクリプト化されたデータ ソースを使用すると、複雑なカスタム データの抽出と変換シナリオを独自に作成できるようになります。Kettle ETL スクリプトを書いてデータの抽出元となる情報ソースを指定し、抽出したデータに顧客固有のビジネス ルールを適用できます。スクリプト化されたデータ ソースを設定する前に、ネットワーク上のオンプレミス Windows サーバーにデータ エージェントをインストールする必要があります。参照 概念: データ エージェント を参照してください。
Kettle 内で使用されるプラットフォームまたはスクリプトは、自動でアップグレードまたは移行されません。レガシー データ エージェントを (Kettle 4.4 で) 使用する場合、インテグレーションのエージェント UI で、"従来型エージェントをダウンロード" セクションのリンクを使用する必要があります。Kettle 6 にアップグレードする場合、Kettle バージョンをこれまでにインストールしたことがないシステムでは、新しいデータ エージェントと新しい Kettle バージョンを再インストールする必要があります。
スクリプト化されたデータ ソースは、Pentaho Kettle スクリプトの作成方法や Spoon UI の使用方法に精通した上級 ETL ユーザー向けです。Pentaho Kettle や Spoon に関する詳細なドキュメントやチュートリアルなどの詳細については、https://docs.hitarchivevantara.com/p/pentaho-DIAを参照してください。
スクリプト化されたデータ ソースを設定するには、以下の手順に従います。
- "インテグレーション" > "インテグレーション設定"に移動し、データ デザイナーにアクセスします。
- 画面の右側にある "コンポーネント ライブラリ" の "データ ソース" フォルダで、"新しいデータ ソースを作成"をクリックします。"新規作成" ダイアログ ボックスが表示されます。
- データ ソースの種類として"スクリプト化されたデータ ソース"を選択し、データ ソース名を入力します。
- "作成"をクリックします。画面の中央エリアに新規データ ソースの設定およびその他の情報が表示されます。
- データ ソースの情報を入力します。
- 関連エージェント:ドロップダウン リストからエージェントを選択します。
- エントリ ポイント:ドロップダウン リストからエントリ ポイントを選択します。エントリ ポイントはシステムの ETL スクリプトです。これは後で編集できます。
- ログ レベル:ドロップダウン リストからログ レベルを選択し、このデータ ソースをどこまで詳細に記録するかを指定します。次のオプションがあります。
- エラー:重大なエラーのみを記録します。
- 情報:データ ソースが更新されたときなど、すべての基本情報を記録します。
- 詳細:すべてのフェーズとアクションに関する非常に詳細な情報を提供します。(このレベルは、主にデバッグや監査に使用されます。一般的な用途よりも多くのログ情報が生成される可能性があります。)
- ソース URI:接続先の URI をセミコロン (;) で区切って入力します。このフィールドは、基礎を成すソース システムを特定し文書化する際の補助としてのみ使用します。ソフトウェアでは、その他の目的には使用されません。
- "アクション" メニューから、"保存"をクリックします。
Spoon の開始
スクリプト化されたデータ ソースの基本情報を保存し終わったら、ETL スクリプト エディタの Spoon の開始、スクリプトを使った作業、およびスクリプト化されたデータ ソースへのテーブルの追加ができます。
スクリプトを表示および編集するには:
- Windows "スタート" メニューから、"すべてのプログラム"をクリックします。
- Workday Adaptive Planning のデータ エージェント フォルダを開きます。データ エージェントのバージョン 7.1.44 以前の場合は Adaptive データ エージェント フォルダを開きます。
- "Adaptive Script Editor" をクリックします。Pentaho スプラッシュ画面と開始ヒントに続き、Spoon 画面が表示されます。
- 以下の情報を入力します。Adaptive Planningログイン E メールとパスワードを選択し、"Login Now/Refresh Tenant List" をクリックします。Workday からユーザーを同期させた場合は、Workday の認証情報でデータ エージェントおよびスクリプト エディタにログインするを参照してください。
- ドロップダウンからテナントを選択します。通常、テナントは 1 人だけです。Spoon はテナント リストをリフレッシュします。
- ドロップダウンから、このデータ ソースに使用しているエージェントを選択します。Spoon はエージェント リストをリフレッシュします。
- "Edit Script" のドロップダウンから、作成したばかりのスクリプト化されたデータ ソースを選択します。
ログインが完了し、使用するエージェントとデータ ソースを Spoon に設定したら、スクリプトの編集作業を開始できます。
- Spoon 画面の右上にある "データ インテグレーション" リンクをクリックします。Spoon のインテグレーション エリアが表示されます。
- "File" > "Open"を選択し、表示・編集したいスクリプトに移動したら、"OK"をクリックします。インテグレーションに含まれているスクリプト化されたデータ ソースのサンプル スクリプトから、スクリプトの構造やデータベース接続について学ぶことができます。これらの情報は、今後、自身でスクリプトを開発する際に役立ちます。
- 必要に応じてスクリプトを編集し、保存します。
- 右上にある "Adaptive" をクリックし、"Adaptive Perspective" に戻ります。Spoon 画面が再度表示されます。
- "Publish Agent Changes"をクリックします。これにより、スクリプトはAdaptive Planningサーバーに配置され、スクリプト リポジトリに保存されます。
以下のデータ インポート モードがサポートされています。この設定はテーブルにより異なる場合があります。
- データのインポートを実行するたびに、レコードがすべて置き換えられます。
- データの同期が必要なときは毎回、リモート エージェントがすべてのソース レコードをスキャンし、変更されたレコードを送信します。
- 特定の期間範囲内のすべてのレコードを送信します。
スクリプト化されたデータ ソースへのテーブルおよび列の追加
スクリプトが完成したら、インテグレーションのデータ ソースにテーブルと列を追加できます。
データ ソースで定義されている列と ETL スクリプトで定義されている列は、完全に一致している必要があります。一致していない場合はデータ ロードに失敗します。
スクリプト化されたデータ ソースにテーブルを追加するには:
- "データ コンポーネント" メニューの "カスタム テーブル" エントリを展開します。
- "スクリプト化されたテーブル"アイテムを "スクリプト化されたテーブル" 領域にドラッグ アンド ドロップします。このアイテムをドロップすると、"スクリプト化されたテーブル" ダイアログ ボックスが表示されます。
- テーブル設定を入力します。
- 名前:テーブルの名前を入力します。
- データ インポート モード:以下のインポート モードから 1 つを選択します。
- データのインポートが実行されるたびにすべてのレコードを置き換える:これがデフォルトです。データをインポートする際、ステージング領域のレコードのすべてが必ず置き換えられます。
- リモート キャッシュを使用し、変更されたレコードをインポート時に識別、送信:インテグレーションはステージング領域のデータを確認し、スプレッドシートまたはデータベース内のレコードと比較し、変更されたレコードのみをインポートします。
- 送信された期間範囲内にあるすべてのレコード:このモードを選択すると、期間範囲とその期間範囲を適用する列のインテグレーションを入力するよう促されます。この選択基準を満たす列はすべてインポートされます。
- データ インポートのフィルタ:インポートしている情報をフィルタリングまたはフォーマットする SQL 式を入力します。SQL フィルタはデータベースからデータを抽出する前に適用され、インポートする必要があるデータの量を削減するとともに、ステージング領域に取り込むデータをさらに細かく制御できます。フィールドをクリックすると、先ほど説明した "SQL フィルタを編集" ダイアログ ボックスが表示されます。(ここで入力したフィルタは、ステージング領域のプレビュー データではなく、データベース内の実際のデータに適用されます。)
- "適用"をクリックして設定を適用します。
スクリプト化されたデータ ソースに列を追加するには:
- "データ コンポーネント" メニューの "カスタム列" エントリを展開します。
- "インポートするテーブル" 領域に列タイプの 1 つをドラッグ アンド ドロップします。このアイテムをドロップすると、"カスタム列" ダイアログ ボックスが表示されます。
- 列の設定を入力します。
- 名前:列の名前を入力します。列の名前は大文字やスペースの使用を含め、Spoon のスクリプトで指定された列の名前と完全に一致している必要があります。
- 列のタイプ:列タイプを識別する表示専用フィールドです。
- 列タイプを変換:この値は、SQL 列以外では変更できません。SQL 列では、6 種類の変換オプションからどれでも選択できます。
- "適用"をクリックして設定を適用します。
列の管理
作業しているテーブルに列が多数ある場合は、"列を管理" を使用してどの列をインポートするかをすばやく編集できます。"列を管理" ダイアログ ボックスにはテーブルの列が表示されるため、インポートする列をオンまたはオフにすることができます。
インポートする列を管理するには:
- テーブル名の右にあるタブの矢印をクリックします。いくつかのオプションを含むフローティング メニューが表示されます。
- フローティング メニューで"列を管理"をクリックします。"列を管理" ダイアログ ボックスが表示されます。
- インポートする列の横にあるチェックボックスをオンにします。列をオンにすると、ポップアップの内容を保存した後でプレビュー ウィンドウに列が表示されます。列をオフにすると、プレビュー ウィンドウから列が削除されます。以下のようなシステムが生成するフィールドのインポート ステータスを変更することはできません。isDeleted。個々の列のインポート ステータスは、列のプロパティを選択してプロパティを設定するか、列をデザイナーにドラッグ アンド ドロップして変更することもできます。
テーブルのカスタマイズ
テーブルごとにデータのインポート方法をカスタマイズできます。
テーブル設定をカスタマイズするには、次のようにします。
- テーブル名の右にあるタブの矢印をクリックします。いくつかのオプションを含むフローティング メニューが表示されます。
- フローティング メニューで"テーブル設定"をクリックします。
- "適用"をクリックして設定を適用します。
- 各テーブルに対して手順 1〜3 を繰り返します。
- "保存"をクリックして、データ ソースに設定を保存します。
列のオプション設定
"インポートするテーブル" セクションの使用中は、データ ソースまたはインポート後のステージング領域にある状態でのデータのプレビューを表示できます。各列のオプションを変更するには、マウスを見出しに合わせて、その名前の横にあるドロップダウンをクリックします。オプションは次のとおりです。
- 昇順で並べ替え:この列に基づいてテーブル全体を昇順で並べ替えます。
- 降順で並べ替え:この列に基づいてテーブル全体を降順で並べ替えます。
- 列の設定:このダイアログを使用して、ステージング テーブル内の列のプロパティを変更します。
- 名前:ヘッダーに表示される列の名前。
- 列のタイプ:列で使用されるデータのタイプ。
- 列タイプを変換:このドロップダウン メニューから新しいタイプを選択します。
- インポートから列を除外:インポートするデータからこの列を削除する場合に選択します。
- カスタム列を削除:このオプションを選択して列を削除します。(カスタム列でのみ使用可能です。)
ステージング テーブルからデータをダウンロード
単一のステージング テーブルからデータをダウンロードできます。
単一のステージング テーブルからデータをダウンロードするには:
- "インポートするテーブル" セクションのテーブルの見出しにある下矢印をクリックします。
- "データをダウンロード"を選択します。
- "この操作により、データをダウンロードするための URL を含む E メールが送信されます"というプロンプトで、"送信"をクリックします。Adaptive Planningがデータ デザイナーに関連付けられている E メール アカウントに、URL を記載した E メールを送信します。
- E メールを開いて URL をクリックします。データは .csv 形式でダウンロードされます。
詳細フィルタの使用
"ソース" ドロップダウン メニューの下にある
"詳細フィルタ"
をクリックすると、"インポートするテーブル"
プレビュー領域にデータのフィルタリング用オプションが表示されます。"詳細フィルタ" は、ステージング テーブル内で、またはスクリプトを使って、データのサブセットを表示および参照するためのツールを提供します。("ソース" ドロップダウンから "スクリプト" を選択すると、処理対象のプレビュー リクエストがエージェントに送信されます。)フィルタのプロパティを変更すると、ステージング領域のデータを変更することなく、プレビュー ウィンドウに表示されるデータ表示を変更できます。プレビュー領域は、特にステージング領域のデータのごく一部をプレビューするためのものです。スプレッドシートで利用できるデータを探索して、ステージング領域をチェックすることで期待するデータが入手できることを確認できます。(プレビュー機能で設定されたフィルタは、ステージング領域の実際のデータには影響しません。)
"詳細フィルタ" のオプションは次のとおりです。
- 個別の行: 重複する行を非表示にするには、このボックスをオンにします。
- 最大行数: プレビュー領域に表示される行数を制限するには、テキスト ボックスに数値を入力します。
- 列: このドロップダウン メニューの列をオンまたはオフにし、列を表示または非表示にします。
このリストから列を削除しても、その列はインポート リストから削除されません。
- SQL フィルタ: 大型のテキスト ボックスをクリックし、(先に示した) "SQL フィルタを編集" ダイアログ ボックス を表示します。ここで SQL フィルタを入力し、プレビューする行を制限することができます。"適用"をクリックして、フィルタの SQL 構文を自動的にチェックします。(エラーがある場合は、式にエラー箇所が示されます。)詳細な SQL 構文のヘルプについては、"メモ" セクションでオンライン ヘルプをクリックしてください。
"フィルタを削除"
("ソース" ドロップダウン メニューの横) をクリックして、詳細フィルタの設定をすべてクリアします。テーブルのカスタマイズ プロセスの一環として、SQL 式を使用して結合テーブルとカスタム列を作成することもできます。
パラメータの追加と編集
パラメータを使って、基になる Kettle スクリプトに情報を渡すことができます。パラメータはデフォルト値を使って設定できます。そのうえでスクリプトはパラメータを使い、ETL スクリプト内の変換およびフィルタリングを制御できます。
パラメータを追加するには:
- "パラメータ" の見出しの右側にあるパラメータを編集アイコンをクリックします。"パラメータ エディタ" のダイアログ ボックスが表示されます。
- 左ペインの、パラメータを追加したいフォルダをクリックします。フォルダ名が右ペインに表示されます。
- "追加"をクリックし、フローティング メニューに表示される以下のオプションの 1 つを選択します。
- フォルダ:新規フォルダを作成します。
- ブール値: ブール値のパラメータ (true/false) を作成します。
- 整数: 整数のパラメータを作成します。
- テキスト: テキスト値のパラメータを作成します。
- パスワード: パスワードのパラメータを作成します。
- 期間範囲: 期間範囲のパラメータ (開始日/終了日) を作成します。
- 属性: 属性を作成します。
- 実績バージョン: 実績バージョンを作成します。
- 計画バージョン: 計画バージョンを作成します。
- 右ペインで、選択したオプションの情報を入力します。
- "適用"をクリックします。
個々のパラメータを編集するには、編集したいアイテムを左ペインでダブルクリックし、フィールド内の情報を編集します。編集が終了したら "適用" をクリックして変更を保存します。
パラメータをグループ化するには、フォルダを作成し、そのフォルダにパラメータをドラッグします。
スクリプト化されたデータ ソースによるデータのインポート
スクリプト化されたデータ ソースを設定して保存すると、データをインポートできます。
スクリプト化されたデータ ソースによってデータをインポートするには:
- "アクション" メニューから、"データのインポート"をクリックします。選択したデータは、ETL スクリプトおよび SQL 式でフィルタリングされ、ステージング領域に読み込まれます。ステージング領域でデータをプレビューできます。
情報はクリアするまで、またはその後のデータ読み込みで有効な "データ インポート モード" 設定に基づいてクリアされるまで、ステージング領域に残ります。
ステージング領域からデータをクリアするには:
- "アクション" メニューの"ステージング テーブルをクリア"をクリックします。データ ソース内のすべてのテーブルのステージング領域がクリアされます。