エクスポーターセクション¶
Denodo Scheduler では、取得したタプルに異なる エクスポートアクション を定義できます (エクスポーターセクションのない VDPCache ジョブと VDPDataLoad ジョブを除く)。
このセクションには、JDBC エクスポーターにのみ影響するグローバルオプション [Export as transaction] があります。有効にすると、すべての JDBC エクスポーターへのエクスポートが (ある場合) 単一のトランザクションとして処理されます。つまり、ジョブが終了すると、すべてのターゲットテーブルに同じデータが含まれます。それらのいずれかでエラーが発生した場合、すべての JDBC エクスポーター (他のタイプには影響しない) へのエクスポートはロールバックされ、それぞれ実行の開始時の状態に戻ります。エラーが発生しない場合のみ、新しいデータでのエクスポートが JDBC エクスポーターにコミットされます。
Scheduler は、以下のエクスポーターを提供しています。
Scheduler Index: 抽出されたタプルを Scheduler Index Server のインデックスに保存します。このエクスポーターを構成するには、次のパラメータを指定する必要があります。
Data source: タプル/ドキュメントがエクスポートされるインデックスに関連付けられた Scheduler Index データソースを選択する場合。
Index name: タプル/ドキュメントが保存される Scheduler Index Server インデックスの名前。
Clear index: チェックすると、新しいドキュメントを指定されたインデックスに保存する前に、現在のジョブの ID に関連付けられたすべてのドキュメントが削除されます。
注釈
Denodo 6.0 以前は、これらのエクスポーターは ARN-Index と呼ばれていました。
Elasticsearch: 抽出されたドキュメントを Elasticsearch インデックスサーバーのインデックスに保存します。このエクスポーターを構成するには、次のパラメータを指定する必要があります。
Data source: タプル/ドキュメントがエクスポートされるインデックスに関連付けられた Elasticsearch データソースを選択する場合。
Index name: タプル/ドキュメントが保存されるインデックスの名前。
Clear index: チェックすると、新しいドキュメントを指定されたインデックスに保存する前に、現在のジョブの ID に関連付けられたすべてのドキュメントが削除されます。
Recreate index: チェックすると、選択されたインデックスと、そのすべてのドキュメントが削除されます。その後、次のパラメータで指定された構成で、再びインデックスが作成されます。
Index Configuration: インデックスを作成するためのパラメータを指定する場合。これらのパラメータは、インデックスの作成時にのみ影響します。インデックスがすでに存在し、[
Recreate Index
] がチェックされていない場合は、何の影響もありません。Shards: インデックスを構成するプライマリシャードの数。シャードは Elasticsearch によって自動的に管理される単一の Lucene インスタンスです。デフォルトでは、1 つのインデックスには 5 つのプライマリシャードがあり、クラスタ内のすべてのノード間で分散されています。
Replicas: クラスタ内のプライマリシャードのコピーの数。デフォルトでは、複製はありません。
Analyzer: 使用されるアナライザーは、ドキュメントの予期される言語に従って選択する必要があります。ストップワード (その言語の中で非常に一般的なワード) は削除されます。
Bulk processor configuration: 大量のデータを処理するために、エクスポーターがリクエスト (ドキュメントのインデックス作成または削除) をバッチ処理でグループ化し、バッチごとにすべてのリクエストを一度に Elasticsearch サーバーに送信します。バッチを送信するタイミングを構成するためのいくつかのパラメータがあります。
Document chunk size: 結果のチャンクを構成するドキュメントの数。(削除されたか、インデックスが作成された) ドキュメントがこの数に達すると、他のパラメータがこの数に達していない場合でも (デフォルトでは 10000)、エクスポーターはそれらをサーバーに送信します。
Chunk size (MB): 結果のチャンクを構成するドキュメントのサイズ。インデックスを作成するか削除されるドキュメントのサイズがこのサイズに達すると、他のパラメータがこのサイズに達していない場合でも (デフォルトでは 50 MB)、エクスポーターはそれらをサーバーに送信します。
Flush interval: エクスポーターが保留中のリクエストをサーバーに送信するのを待機する最長時間 (秒単位)。このタイムアウトに達すると、他のパラメータがこのタイムアウトに達していない場合でも (デフォルトでは 60 秒)、保留中のリクエストはサーバーに送信されます。
Concurrency level: エクスポーターにより同時に実行されることが許可されるリクエストの数、つまり、サーバーに同時に送信できるバッチの数を設定します (デフォルトでは 5)。
CSV: 抽出されたタプルをプレーンテキストファイルに保存します。このエクスポーターを構成するには、次のパラメータを指定する必要があります。
Data route: 生成されたファイルのパス (ローカルまたはクラウド、あるいはその両方) と名前を設定します。デフォルトでは、ディレクトリ
<DENODO_HOME>/work/scheduler/data/csv
に<PROJECT_NAME>_<JOB_NAME>_<JOB_ID>_Group#<GID>_CSVExporter#<EID>_<JOB_START_TIME>.csv
という名前で生成されます。ここで、JOB_START_TIME
は、1970 年 1 月 1 日以降ジョブが実行される瞬間までをミリ秒単位で表しています。Encoding: テキストファイルのエンコード (BOM (バイトオーダーマーク) 付きファイルの生成をサポート) を選択するためのドロップダウン (UTF-8、UTF16-LE、UTF16-BE、UTF-32LE、UTF-32BE、および GB-18030 のいずれか)。
Overwrite old file: 次の 3 つのオプションがあります。
Create new file: (ファイル名に
JOB_START_TIME
を追加することで) 実行ごとに新しいファイルが作成されます。Overwrite to old file: 実行の瞬間の情報なしで (
JOB_START_TIME
なしで) ファイル名が生成されるため、ジョブを複数回実行すると、新しいファイルが生成されるのではなく、同じファイルが上書きされます。Append to old file: エクスポートされたデータが既存のファイルに付加されます。
i18n: 選択したエンコードに応じて日付と数字の書式を設定するためのドロップダウン。
Separator: エクスポートされた各タプルのフィールド値を区切るための区切り文字。
Quote Options: デフォルトでは、このエクスポーターは RFC 4180 に従うので、値は必要に応じて二重引用符で囲まれます。ただし、このポリシーを変更できます。その場合、すべてのフィールドを二重引用符でカプセル化する別のオプション ([Add quotation marks for all fields]) を選択するか、二重引用符をまったく追加しないオプション ([Never add quotation marks]) を選択します。
Include header: チェックすると、ファイルの 1 行目に、エクスポートされた各タプルのフィールド名が含まれます。
Export job identifier, job name, project name and execution time fields: チェックすると、エクスポートされるタプルのフィールドの中にプロジェクト名、ジョブ名、ジョブ ID、およびジョブ開始時刻が含まれます。
Mappings: ジョブで取得されたタプル内のフィールド名 (パラメータ [Document field]) と、CSV ファイル内のフィールドの実際の名前 ([CSV column]、このパラメータでは大文字と小文字が区別されます) との間のアソシエーションを指定できます。アソシエーションが指定されている場合、[Export only mapped attributes] チェックボックスをチェックすると、それらのフィールドのみをエクスポートできます。
注釈
CSV エクスポーターを使用すると Microsoft Excel で直接開くことができるファイルを生成できます。そのためには、 区切り文字 として
;
を指定します。JDBC: タプルをリレーショナルデータベースのテーブルに保存します。このエクスポーターを構成するには、次のパラメータを指定する必要があります。
Data source: タプル/ドキュメントがエクスポートされるテーブルを含むリレーショナルデータベースにアクセスする JDBC タイプのデータソースを選択する場合。
Catalog name: スキーマが保存される既存のカタログを指定するためのオプションのパラメータ。情報のエクスポート先のデータベースがカタログをサポートしている場合にのみ設定する必要があります (例: SQL Server)。
Schema name: テーブルが保存される既存のスキーマを指定できるオプションパラメータ。
Table name: このパラメータ (大文字と小文字が区別されます) では、タプルが挿入される既存のテーブルを指定します。デフォルトでは、挿入先のテーブルスキーマは、各ジョブフィールドと互換性のあるデータ型のフィールドを保持している必要があります。
Error Management: 次の 3 つのオプションがあります。
Never rollback: エクスポートのエラーに関係なく、ロールバックは決して実行されません。ドキュメントのチャンクごとに独自のトランザクションでエクスポートされ、テーブルの以前の内容の削除 (そのオプションが使用されている場合) も別のトランザクションで実行されます。各チャンクの終わりに、正常に挿入/更新されたタプルはデータベースに永続的に保存されます。
Rollback if the exportation of all documents fails: 一部のドキュメントをエクスポートできなかった場合に、ロールバックが実行されます。すべてのドキュメントのエクスポートと、テーブルの以前の内容の削除 (そのオプションが使用されている場合) に同じトランザクションが使用されます。
Rollback if any exportation error occurs: 上記と同じですが、テーブルの以前の内容の削除中 (そのオプションが使用されている場合) にエラーが発生した場合、またはドキュメントのエクスポートに失敗した場合に、ロールバックが実行されます。
注釈
[Export as transaction] が有効な場合、各 JDBC エクスポーターの [Error Management] オプションは上書きされます。
Delete table content: チェックすると、エクスポートされたタプルを挿入する前にテーブルの内容が削除されます。テーブルの内容は、エクスポートフェーズの開始時ではなくジョブの実行開始時に削除されることに注意してください。デフォルトでは、JDBC エクスポーターは挿入を実行するため、プライマリキーに同じ値を持つ別のタプルがすでに存在する場合、結果はエラーとなります。
Update tuple if entry already exists in DB: チェックすると、JDBC エクスポーターはタプルを挿入するのではなく更新します (複合プライマリキーが許容されます)。
Batch size: エクスポーターが受け取って、データベースにバッチとして挿入される ([JDBC Batch Inserts] を使用) ドキュメントのチャンクのサイズを指定します。オプション [Update tuple if entry already exists in DB] が チェックされていない 場合にのみ適用されます。
Export job identifier, job name, project name and execution time fields: チェックすると、エクスポートされるタプルのフィールドの中にプロジェクト名、ジョブ名、ジョブ ID、およびジョブ開始時刻が含まれます。
Mappings: ジョブで取得されたタプル内のフィールド名 (パラメータ [Document field]) と、データベーステーブル内のフィールドの実際の名前 ([Table column]、このパラメータでは大文字と小文字が区別されます) との間のアソシエーションを指定できます。アソシエーションが指定されている場合、[Export only mapped attributes] チェックボックスをチェックすると、それらのフィールドのみをエクスポートできます。
Excel: 取得されたタプルを Excel 2007 OOXML (.xlsx) に保存します。このエクスポーターを構成するには、次のパラメータを指定する必要があります。
Data route: 生成されたファイルのパス (ローカルまたはクラウド、あるいはその両方) と名前を設定します。デフォルトでは、ディレクトリ
<DENODO_HOME>/work/scheduler/data/excel
に<PROJECT_NAME>_<JOB_NAME>_<JOB_ID>_Group#<GID>_ExcelExporter#<EID>_<JOB_START_TIME>.xlsx
という名前で生成されます。ここで、JOB_START_TIME
は、1970 年 1 月 1 日以降ジョブが実行される瞬間までをミリ秒単位で表しています。Sheet name: Excel シートの名前を指定します。デフォルトでは、Excel シート名は
Sheet1
になります。Overwrite old file: 次の 3 つのオプションがあります。
Create new file: (ファイル名に
JOB_START_TIME
を追加することで) 実行ごとに新しいファイルが作成されます。Overwrite to old file: 実行の瞬間の情報なしで (
JOB_START_TIME
なしで) ファイル名が生成されるため、ジョブを複数回実行すると、新しいファイルが生成されるのではなく、同じファイルが上書きされます。Append to old file: エクスポートされたデータが既存のファイルに付加されます。
Include header: チェックすると、ファイルの 1 行目に、エクスポートされた各タプルのフィールド名が含まれます。
Export job identifier, job name, project name and execution time fields: チェックすると、エクスポートされるタプルのフィールドの中にプロジェクト名、ジョブ名、ジョブ ID、およびジョブ開始時刻が含まれます。
i18n: 選択したエンコードに応じて日付と数字の書式を設定するためのドロップダウン。
[Export numbers as] セレクターを使用すると、数値をエクスポートするために使用する必要がある Excel を構成できます。ユーザーが選択できるオプションを以下に示します。
General
Number
。このオプションを選択する場合、[Number of decimals] フィールドで、10 進値のセルで表示する小数点以下桁数を指定する必要があります。Text
注釈
General
またはNumber
の形式で数値をエクスポートする場合、Excel が保存するのは、最上位の 15 桁のみです。全桁を保存する場合、数値をText
としてエクスポートする必要があります。Date pattern:
date
型の値に適用するパターン。フィールドが空のままの場合、以下の 2 つのオプションがあります。ユーザーが
datesubtypepattern
フィールドの値を定義する i18n を選択した場合、datesubtypepattern
が使用されます。i18n を選択しない場合、VDP データソースから取得したデフォルトの i18n が使用されます。
Time pattern:
time
型の値に適用するパターン。フィールドが空のままの場合、以下の 2 つのオプションがあります。ユーザーが
timesubtypepattern
フィールドの値を定義する i18n を選択した場合、timesubtypepattern
が使用されます。i18n を選択しない場合、VDP データソースから取得したデフォルトの i18n が使用されます。
Timestamp pattern:
timestamp
型の値に適用するパターン。フィールドが空のままの場合、以下の 2 つのオプションがあります。ユーザーが
datepattern
フィールドの値を定義する i18n を選択した場合、datepattern
が使用されます。i18n を選択しない場合、VDP データソースから取得したデフォルトの i18n が使用されます。
Mappings: ジョブで取得されたタプル内のフィールド名 (パラメータ [Document field]) と、Excel ファイル内のフィールドの実際の名前 ([Excel column]、このパラメータでは大文字と小文字が区別されます) との間のアソシエーションを指定できます。アソシエーションが指定されている場合、[Export only mapped attributes] チェックボックスをチェックすると、それらのフィールドのみをエクスポートできます。
注釈
date
、time
、およびtimestamp
の各パターンで使用される構文は、Java の日付パターン (詳細については、「 日付と時間のパターン文字列 」を参照) と同じです。Custom Exporters: ユーザーは独自のカスタムエクスポーターを作成することもできます。「 エクスポーター 」を参照してください。
ジョブで使用可能なエクスポーターのリストは、ジョブのタイプによって異なります。
エクスポーター/ジョブ |
VDP |
VDPIndexer |
VDPCache |
VDPDataLoad |
---|---|---|---|---|
Scheduler Index |
emoji |
emoji |
なし |
なし |
Elasticsearch |
emoji |
emoji |
なし |
なし |
CSV |
emoji |
emoji |
なし |
なし |
JDBC |
emoji |
emoji |
なし |
なし |
Excel |
emoji |
emoji |
なし |
なし |
カスタム |
emoji |
emoji |
なし |
なし |
注釈
Scheduler Index エクスポーターは、バイナリフィールドのインデックスを作成できません。CSV エクスポーターおよび Excel エクスポーターは Base64 でエンコードされたテキストとしてバイナリフィールドをエクスポートします。
注釈
複合データ型は、XML 形式でテキストとしてエクスポートされます。
注釈
JDBC エクスポーターを使用していて、1 つのタプルのエクスポートに失敗した場合、タプルのセット全体に例外を適用できない限り、ブロックの残りのタプルに対してプロセスが続行されます。その場合、それらのタプルは破棄されます。
ジョブのレポートには、失敗したドキュメントの ID (タプル番号) とその理由が示されます。
注釈
CSV エクスポーターおよび Excel エクスポーターについて:
結果のファイルは 暗号化 (CSV の場合は MD5/DES または SHA-512/AES-256 暗号化アルゴリズム、Excel の場合は SHA-512/AES-256 暗号化を使用) または 圧縮 できます (オプションでパスワードで保護された ZIP ファイルを生成するようにエクスポーターを構成可能)。
標準変数 (
projectName
、jobName
、jobID
、jobStartTime
) に加え、 Output file パラメータで (構文@{field:<DOCUMENT_FIELD_NAME>}
に従い) 任意の変数を指定できます。DOCUMENT_FIELD_NAME
は、エクスポートされるドキュメントのフィールドを表しています。これにより、エクスポートされたドキュメントは、これらの変数の値に従って、ファイルまたは別のもの (ファイル名はエクスポートされたドキュメントのフィールドの値に依存) に保存されるか、または同じファイルの別のシートに保存されます。入力および出力の日付パターンを指定することで、日付変数を書式化することもできます (入力パターンはオプション。指定しないと、日付はミリ秒単位と想定される)。標準変数jobStartTime
の構文は@{jobStartTime, outputDateFormat:<output_format>}
で、エクスポートされるドキュメントの他のすべての日付フィールドの構文は@{field:<DOCUMENT_FIELD_NAME>,inputDateFormat: <input_format>,outputDateFormat: <output_format>}
です。inputDateFormat
には、たとえば、yyyyMMdd
やoutputDateFormat “yyyy-MM-dd”
を指定できます。デフォルトでは、タプルがエクスポートされない場合、出力ファイルは削除されます (それらのファイルが以前の実行からすでに存在する場合を除く)。空のファイルも保持されるようにするには、[Create file even if no tuples are exported] フィールドをチェックします。
注釈
データを ODBC ターゲットにエクスポートする場合、使用される JDBC エクスポーターは JDBC-ODBC ブリッジ
ドライバーで構成されたデータソースを保持している必要があります。ターゲットが Excel シートの場合、データソースは Excel
アダプターで構成されている必要があり、[Table name] フィールドには [Sheet1$]
が入力されている必要があります。どちらのドライバーも Denodo Scheduler に付属しています (表「 JDBC ドライバー 」を参照)。Excel シートで作業する場合は、いくつかの制限事項を考慮することが重要です (https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3 を参照)。