DataStageのシーケンシャルファイル
シーケンシャルファイルを使用して、1つまたは複数のフラットファイルからデータを読み込んだり、フラットファイルにデータを書き込んだりします。 ローカルストレージまたは Google Cloud Storage フロー内で DataStage® フローで
順次ファイルは、単一の入力リンクまたは単一の出力リンク、そして単一のリジェクト・リンクを持つことができます。 複数のファイルを読み取る場合はパラレル・モードで実行されますが、1 つのファイルだけを読み取る場合は順次実行されます。 デフォルトでは、完全なファイルは 1 つのノードが読み取ります (ただし、各ノードは複数のファイルを読み取ることができます)。 ただし、固定幅ファイルの場合は、異なる動作をするようにコネクターを構成することができます。
- 1 つのファイルを複数のノードで読み取ることができるように指定できます。 これにより、クラスター・システムのパフォーマンスが向上します。
- 1 つのノード上で多数の読み取りプログラムを実行するように指定できます。 これは、たとえば、単一のファイルを読み取るときに (ステージがコンダクター・ノードで順次実行するように制約されている場合でも) パーティション化できることを意味します。
順次ファイルは、複数のファイルに書き込む場合はパラレルで実行されますが、単一のファイルに書き込む場合は順次実行されます。 各ノードは 1 つのファイルに書き込みますが、1 つのノードは複数のファイルに書き込むことができます。
連続したファイル資産としてアップロードすると、 IBM® DataStageIBM Cloud Object Storage を使用してファイルを保存します。 All of the files read from the Sequential File stage should be present in DataStage/files/<path_given_in_stage_properties> unless the path starts with cos://, in which case it is should be in the top-level COS bucket (<path_given_in_stage_properties>). You can check the files outside of the DataStage job in the DataStage/files/<path_given_in_stage_properties> directory, unless the path starts with cos://, in which case the files should be present in the top-level COS bucket (<path_given_in_stage_properties>). If you use the Asset Browser, IBM DataStage uses the IBM COS Connector. これは、順次ファイルを使用しません。
ステージ・タブ
- 実行モード。 コネクターは、パラレル・モードまたは順次モードで実行できます。 パラレル・モードでは、データ・セットの内容は、構成ファイルで指定された使用可能なノード、および「拡張」 タブで指定されたノードの制約によって処理されます。 順次モードでは、データ・セットの内容全体がコンダクター・ノードによって処理されます。
- 組み合わせ可能モード。 これはデフォルトで「自動」になっています。これにより、 IBM DataStage は、並列ステージの基礎となるオペレーターを結合して、このタイプのステージで適切な場合に同じプロセスで実行できるようにします。
- パーティションの保持。 プロパゲート、セット、またはクリアを選択できます。 「セット」 を選択すると、ファイル読み取り操作は、次のステージがパーティションを保持するように要求します。 プロパゲーションにより、前のステージからのフラグの設定が行われます。
「入力」タブ
「入力」タブでは、順次ファイルが 1 つ以上のフラット・ファイルにデータを書き込む方法の詳細を指定することができます。 順次ファイルは 1 つの入力リンクしか持つことができませんが、複数のファイルに書き込むことができます。 「ファイル・フォーマット」 で、順次ファイル・フォーマットまたは parquet ファイル・フォーマットを指定できます。
「ターゲット」カテゴリーは、ファイル、ファイル更新モード、および書き込み方式を定義します。 以下は、ターゲット・カテゴリーのパラメーターです。- ファイル
- このプロパティーは、受信データの書き込み先となるフラット・ファイルを定義します。 パス名を入力することができます。 「ファイル」プロパティーを繰り返して、複数のファイルを指定できます。 このためには、ツリーの上部にある 「プロパティー」項目を選択し、「追加する使用可能なプロパティー」ボックスで「ファイル」をクリックします。 これは、指定する追加のファイルごとに実施してください。
- ファイル更新モード
このプロパティーは、指定されたファイルの更新方法を定義します。 同じメソッドが、書き込み先のすべてのファイルに適用されます。 既存のファイルに追加する場合は「追記」から、既存のファイルを上書きする場合は「上書き」から、新規ファイルを作成する場合は「作成」を選択します。 既に存在しているファイルに対して「作成」プロパティーを指定すると、実行時にエラーが発生します。
デフォルトでは、このプロパティーは「上書き」に設定されています。
- 書き込み方式
このプロパティーは、指定されたファイルに出力を書き込むかどうかを指定します。 デフォルトでは、このプロパティーは「特定のファイル」に設定されています。
プロパティー「複数ファイルの生成」を使用すると、生成されるファイルの追加プロパティーを指定できます。 「複数ファイルの生成」プロパティーの下にあるパーティション・ストリングを除外プロパティーは、生成されたファイルの命名に影響を与えます。 「順次に強制」プロパティーは、処理のタイプを変更します。
また、「複数ファイルの生成」 プロパティーの下には、「キー」 プロパティーもあります。 キー列の指定には、「キー」プロパティーを使用します。 キー列を使用して、キー値が変更されたときに新規ファイルの作成をトリガーすることができます。 キーが指定されていないと、ファイル・サイズによって新規ファイルの作成がトリガーされます。 (最大ファイル・サイズは「オプション」カテゴリーで指定します。)
「キー」プロパティーにはデフォルトを使用できます。 デフォルト設定を変更し、「ファイル名の値を使用」を「はい」に設定すると、ステージはキー列の値をファイル名に適用します。 「ファイル名の値を使用」 オプションを使用しても、「ソート順」や「Nulls の位置」などの他のキー・オプションの動作には影響しません。
- 失敗時にクリーンアップ
- これはデフォルトで True に設定され、ステージが何らかの理由で失敗した場合に、部分的に書き込まれたファイルをステージが削除することを指定します。 部分的に書き込まれたファイルを残すように指定するには、これを False に設定します。
- 最初の行はカラム名
- ファイルの 1 行目に列名が含まれていることを指定します。 このプロパティーは、デフォルトでは false です。
- リジェクト・モード
これは、何らかの理由でファイルに書き込まれていないデータ・レコードはどうなるかを指定します。 操作を続行してリジェクトされた行を破棄するには「続行」を、リジェクトされた行がある場合に書き込みを停止するには 「失敗」を、リジェクトされた行をリジェクト・リンクに送信するには「保存」を選択します。
デフォルトでは「続行」が設定されています。
- スキーマ・ファイル
- これはオプションのプロパティーです。 デフォルトでは、ステージは、「列」 タブおよび 「フォーマット」タブで定義された列定義を、ファイルへの書き込みのためのスキーマとして使用します。 ただし、スキーマを含むファイルを指定することもできます (ただし、「列」 タブで列を定義している場合は、スキーマ・ファイルと一致するようにする必要があります)。 パス名を入力するか、スキーマ・ファイルを参照します。
- ファイルの最大サイズ
これはオプションのプロパティーです。 このプロパティーは、ターゲット・ファイルの最大サイズをメガバイト (MB) 単位で指定します。 指定された最大サイズに達すると、別のターゲット・ファイルが生成されます。 代わりに、「プロパティー」カテゴリーでキー列を指定して、新規ファイルの生成をトリガーすることもできます。
このプロパティーは、ステージ・プロパティーの「書き込み方式」が「複数ファイルの生成」に設定されている場合に使用できます。 ファイルの最大サイズが指定されていない場合、ファイル・サイズは無制限になります。
「出力」タブ
「出力」タブでは、順次ファイルが 1 つ以上のフラット・ファイルからデータを読み取る方法の詳細を指定することができます。 「ファイル・フォーマット」 で、順次ファイル・フォーマットまたは parquet ファイル・フォーマットを指定できます。
「出力名」ドロップダウン・リストを使用して、メイン出力リンク (ストリーム・リンク) またはリジェクト・リンクの詳細を表示するかどうかを選択することができます。 「拡張」タブでは、出力リンクのデフォルトのバッファリング設定を変更することができます。
- 特定のファイル
- fileName
- ファイルの名前。 パス名を入力することができます。
コロン (:)、アンパーサンド (&)、または空白文字などの特殊文字を含むファイル名には、警告、エラー、またはその他の問題が発生する可能性があります。
- ファイル・パターン
- 選択するファイル名のプレフィックスを入力します。
- ファイル・パーティションを保持
- これを True に設定すると、入力ファイルの編成に従ってインポートされたデータ・セットがパーティション化されます。 つまり、例えば 3 つのファイルを読み取っている場合は、3 つのパーティションがあります。 デフォルトは False です。
- ファイル欠如時のモード
- ファイル・プロパティーの 1 つが、存在しないファイルを指定している場合に実行するアクションを指定します。 ジョブを停止する場合は 「エラー」を、ファイルをスキップする場合は 「OK」を、デフォルトは 「エラー」で、ファイルにノード名のプレフィックス「*:」が付いていなければ「OK」にしたい場合は「Depends (状況次第)」を選びます。 デフォルトは 「Depends (状況次第)」です。
- リジェクト・モード
- 読み取りレコードが、予期されるスキーマと一致しない場合の挙動を指定することができます。 「続行」を選択して操作を続行し、リジェクトされた行を破棄するか、「失敗」 を選択してリジェクトされた行がある場合は読み取りを停止するか、「保存」を選択してリジェクトされた行をリジェクト・リンクに送信します。 デフォルトは 「続行」です。
- 進行状況をレポート
- 「はい」または「いいえ」を選択して、レポート作成を有効または無効にします デフォルトでは、ステージは、ファイル・サイズを確認できる場合に、各 10% の間隔で進行状況レポートを表示します。 レポートは、ファイルが 100 KB より大きい場合にのみ発生し、レコードは固定長で、ファイルにはフィルターがありません。
- 最初の行はカラム名
- ファイルの 1 行目に列名が含まれていることを指定します。 このプロパティーは、デフォルトでは false です。
フォーマット
「出力」タブの「形式」セクションでは、読み取り中のフラット・ファイル (複数の場合あり) の形式に関する情報を指定できます。
フォーマット設定のいずれも変更しないと、ステージは以下のフォーマットのファイルを作成します。
- ファイルは、二重引用符で囲まれた可変長列で構成されています。
- すべての列は、行の最後の列を除き、コンマで区切られます。
- 行は UNIX 改行で区切られます。
レコード・レベル
これらのプロパティーは、データ・レコードがフラット・ファイルでフォーマットされる方法の詳細を定義します。 文字を入力できる場所は、通常は ASCII 文字またはマルチバイト Unicode 文字です (NLS が有効になっている場合)。 使用可能なプロパティーは次のとおりです
- Fill char. 出力リンクには適用されません。
- 最終区切り文字ストリング。 列区切り文字の代わりに、レコードの最後の列の後に書き込まれるストリングを指定します。 1 つ以上の文字を入力します。これは、使用される場合はレコード区切り文字に先行します。 最終区切り文字とは相互に排他的なものです。これがデフォルトです。 例えば、区切り文字を「コンマ」と「最終区切り文字列」に設定した場合、すべてのフィールドはコンマで区切られます。ただし、最後のフィールドは、コンマとその後に ASCII スペース文字で区切られます。 DataStage は、ファイルの読み取り時に、指定された区切り文字ストリングをスキップします。
- 最終区切り文字。 フィールド区切り文字の代わりに、レコードの最後の列の後に書き込まれる単一文字を指定します。 文字を入力するか、空白、終了、なし、NULL、タブ、またはコンマのいずれかを選択してください。 DataStage は、ファイルの読み取り時に、指定された区切り文字ストリングをスキップします。 図については、次のダイアグラムを参照してください。
- 空白。 各レコードの最後の列には、レコードの末尾に末尾の空白文字が含まれていません。
- 終了。 各レコードの最後の列には、フィールド区切り文字は含まれていません。 これはデフォルト設定です。
- なし。 各レコードの最後の列には、固定幅フィールドに使用される区切り文字がありません。
- null。 各レコードの最後の列は、ASCII ヌル文字で区切られています。
- コンマ。 各レコードの最後の列は、ASCII コンマ文字で区切られます。
- タブ。 各レコードの最後の列は、ASCII タブ文字で区切られます。
- インタクト。 インタクト・プロパティーは、部分スキーマの ID を指定します。 部分スキーマは、スキーマで指定された列のみがステージによって変更できることを指定します。 行内の他のすべての列は、未変更で渡されます。 部分スキーマが含まれているファイルは、「出力」タブの「スキーマ・ファイル」プロパティーで指定されます。 このプロパティーには従属プロパティーがあります。
- インタクトをチェック。 これを選択すると、ファイルがインポートされるときに、部分スキーマの検証が強制的に行われます。 これにより、パフォーマンスが低下する可能性があります。
- レコード区切り文字列。 各レコードの終わりに文字列を指定します。 1 文字以上を入力してください。 これは、デフォルトのレコード区切り文字、レコード・タイプ、およびレコード・プレフィックスと一緒に使用することはできません。
- レコード区切り文字。 各レコードの終わりに単一文字を指定します。 文字を入力するか、以下のいずれかを選択します。
- UNIX 改行 (UNIX Newline) (デフォルト)
- null
DOS 改行を指定するには、「\r」または「\n」に設定されたレコード区切り文字列プロパティーを使用します。
レコード区切り文字は、レコード区切り文字列、レコード接頭部、およびレコード・タイプと相互に排他的です。
- レコード長。 固定長フィールドが読み取られる固定位置を選択します。 DataStage は、レコードの適切な長さを計算します。 あるいは、固定レコードの長さをバイト数として指定します。 これはデフォルトでは使用されません (デフォルト・ファイルはコンマで区切ります)。
- レコード接頭部。 可変長レコードの接頭部に 1 文字、2 バイト、または 4 バイトの長さの接頭部を付けることを指定します。 これはデフォルトで 1 に設定されています。 これは、レコード区切り文字 (デフォルト)、レコード区切り文字列、レコード・タイプと相互に排他的です。
- レコード・タイプ。 可変長ブロック・レコード (可変) または暗黙レコード (暗黙的) で構成されるデータを指定します。 暗黙のプロパティーを選択すると、データは、明示的なレコード境界を持たないストリームとして書き込まれます。 スキーマによって定義されたすべての列が構文解析されると、レコードの終わりは推論されます。 この可変プロパティーを使用すると、V、VB、VS、VBS、または VR のいずれかの IBM ブロックまたはスパン・フォーマットを指定できます。 データは、以下のいずれかの形式でインポートされます。 これらの形式はエクスポートに使用できません。
このプロパティーは、レコード長、レコード区切り文字、レコード区切り文字列、およびレコード接頭部と相互に排他的です。デフォルトでは使用されません。
フィールドのデフォルト
ファイルから読み取られる列のデフォルト・プロパティーを定義します。 これらはすべての列に適用されますが、「列メタデータの編集」ダイアログ・ボックスを使用して「列」タブから個々の列に対してオーバーライドできます。 個々の列のプロパティーをオーバーライドする一般的な理由は、コンマ区切り値 (CSV) ファイルを読み取るときに発生します。 フィールドに特殊文字 (フィールド区切り文字など) が含まれている可能性がある場合、CSV ファイルのフィールドはよく引用符で囲まれます。 この場合は、問題の列のQuoteプロパティーをオーバーライドする必要があります。
文字を入力できる場所は、通常は ASCII 文字またはマルチバイト Unicode 文字です (NLS が有効になっている場合)。 使用可能なプロパティーは次のとおりです
- 実際のフィールド長。 フィールドの長さが NULL フィールド長プロパティーの設定値と等しい場合に、スキップする実際のバイト数を指定します。
- 区切り文字。 レコード内のすべてのフィールドの末尾区切り文字を指定します。 ASCII 文字を入力するか、空白、終了、なし、NULL、コンマ、またはタブのいずれかを選択してください。 DataStage は、読み取り時に区切り文字をスキップします。
- 空白。 列の末尾にある空白文字は無視されます。つまり、列の一部として扱われません。
- 終了。 フィールドの終わりは区切り文字として使用されます。つまり、別個の区切り文字はありません。 これは、固定幅の列を持つフィールドに使用される「なし」の設定とは同じではありません。
- なし。 区切り文字なし (固定幅で使用されます)。
- null。 ASCII ヌル文字が使用されます。
- コンマ。 ASCII コンマ文字が使用されます。
- タブ。 ASCII タブ文字が使用されます。
- 区切り文字列。 各フィールドの末尾に文字列を指定します。 1 文字以上を入力してください。 これは「区切り文字」(デフォルト) と一緒には使用できません。 例えば、「, 」 (コンマ・スペース - 逆コンマの入力は不要) を指定すると、個々のフィールドについてオーバーライドされない限り、各フィールドは「, 」で区切られます。 DataStage は、読み取り時に区切り文字ストリングをスキップします。
- NULL フィールド長。 NULL を含む可変長フィールドの長さ (バイト)。 可変長フィールドが読み取られると、ソース・フィールドの NULL フィールド長の長さは、NULL を含んでいることを示します。 このプロパティーは、NULL フィールド値と同時には使用できません。
- NULL フィールド値。 ソースが NULL に設定されている場合に、NULL フィールドに付与された値を指定します。 数値、文字列、または C タイプのリテラル・エスケープ文字にすることができます。 例えば、バイト値を \ooo (各 o は 8 進数の 0〜7 で最初の o は< 4) で表すか、\xhh (各 h は 16 進数の 0〜F) で表すことができます。 印刷可能でないバイト値をエンコードするには、この形式を使用する必要があります。
このプロパティーは、NULL フィールド長および実際の長さと同時に使用できません。 固定幅データ表現の場合、指定した値がフィールドの固定幅より短い場合に、埋め込み文字を使用して、反復後書き文字を指定することができます。(タイプ・デフォルトの一般セクションの場合)。
NULL を表す列に含まれる NULL 値のリストを指定することができます。 指定するためには、従属 NULL フィールド値セパレータープロパティーに区切り文字を指定してから、このセパレーターを使用して NULL フィールド値 プロパティー内の NULL 値を区切ります。 例えば、NULL フィールド値区セパレーター をスラッシュ文字 (/) を含むように設定すると、NULL/null/NUL/NUL/nul を指定して、これらの文字列のいずれかがこの列で NULL 値を表すことができるように指定することができます。
- NULL フィールド値セパレーター
これは、NULL フィールド値の従属プロパティーです。 NULL フィールド値 プロパティーで使用できるセパレーターを指定して、NULL 値を表すことができる値の範囲を指定することができます。 セパレーターとして、数値、文字列、または C タイプのリテラル・エスケープ文字 (NULL フィールド値の場合) を指定できますが、コンマ (,) やスラッシュ (/) 文字などの単一文字が最良です。 NULL フィールド値で複数の値を指定する場合にのみ、セパレーターを指定する必要があります。使用せずにセパレーターを指定すると、ランタイム・エラーが発生します。
- 接頭部バイト。 このオプションは、可変長フィールドで使用できます。 可変長フィールドは文字で区切ることができます。また、可変長フィールドには、フィールド長を含む 1 バイト、 2 バイト、または 4 バイトの接頭部を付けることができます。 DataStage は、長さ接頭部を読み取りますが、ファイルから読み取るデータ・セット内の別個のフィールドとして接頭部を組み込みません。
このプロパティーは、デフォルトで使用される「区切り文字」プロパティー、「引用符」プロパティー、「最終区切り文字」プロパティーと一緒には使用できません。
- 印刷フィールド。 このプロパティーは、ジョブのデバッグ用に使用します。 DataStage が読み取るフィールドごとにメッセージを生成するように設定します。 メッセージのフォーマットは次のとおりです。
Importing N: D
ここで、- N はフィールド名です。
- D は、フィールドのインポートされたデータです。 D に含まれる印刷不能文字には、接頭部としてエスケープ文字が付き、C 文字列リテラルとして書き込まれます。フィールドにバイナリー・データが含まれている場合、その出力は 8 進形式で出力されます。
- 引用符。 これは、可変長の列が単一引用符、二重引用符、または別の ASCII 文字/ASCII 文字ペアで囲まれることを指定します。 「単一」または「二重」を選択するか、あるいは文字を入力してください。 これは、デフォルトで二重引用符に設定されます。
読み取り時に、 DataStage は先行引用符文字を無視し、末尾引用符文字まで (末尾引用符文字は含まない) のすべてのバイトを読み取ります。
- ベクトル接頭部。 可変長ベクトルであるフィールドの場合、1、2、または 4 バイトの接頭部に、ベクトル内のエレメントの数が含まれることを指定します。 個々のベクトルのこのデフォルト接頭部はオーバーライドすることができます。
可変長ベクトルは、ベクトル内のエレメント数を指定するために、ベクトル上の接頭部または別のフィールドへのリンクのいずれかを使用する必要があります。 可変長ベクトルに接頭部がある場合は、このプロパティーを使用して接頭部の長さを指定します。 DataStage は、長さの接頭部を読み取りますが、それをデータ・セット内の別個のフィールドとして組み込みません。 デフォルトでは、接頭部の長さは 1 バイトであると想定されます。
タイプのデフォルト
これらは、列レベルで特にオーバーライドされない限り、特定のデータ型のすべての列に適用されるプロパティーです。 これらは、データ型に応じていくつかのサブグループに分割されます。
一般
- バイト・オーダー。 複数のバイト・データ型 (文字列とロウ・データ型を除く) を順序付けする方法を指定します。 以下の中から選択してください。
- リトル・エンディアン。 高位バイトは右側にあります。
- ビッグ・エンディアン。 高位バイトは左側にあります。
- ネイティブ・エンディアン。 マシンのネイティブ・フォーマットによって定義されたとおり。 これはデフォルトです。
- データ形式。 これは、列のデータ表現フォーマットを指定します。 文字列、ustring、およびロウを除くすべてのデータ型のフィールドに適用されます。また、文字列でもロウでもないフィールドが少なくとも 1 つは、レコード、サブレコード、またはタグ付けされたフィールドに適用されます。 以下の中から選択してください。
- バイナリー
- テキスト (デフォルト)
バイナリーの設定は、異なるデータ型に適用する場合、意味が異なります。
- 10 進数の場合、バイナリーはパックを表します。
- 他の数値データ・タイプの場合、バイナリーは「テキストなし」を意味します。
- 日付の場合、バイナリーは、データ・フィールドに対してユリウス・プロパティーを指定するのと同等です。
- 時間の場合、バイナリーは、midnight_seconds に相当します。
- タイム・スタンプの場合、バイナリーは、最初の整数にタイム・スタンプの日付部分のユリウス日カウントが含まれていることを指定し、2 番目の整数は、タイムスタンプの時刻部分を午前 0 時からの秒数として指定します。 バイナリー・タイム・スタンプでは、2 つの 32 ビット整数が書き込まれます。
デフォルトでは、データは次のようにテキスト形式になります。
- 日付データ型の場合、テキストは、読み取られるデータに %yyyy-%mm-%dd 形式、またはNLSシステムで新しい日付を定義した場合はデフォルトの日付形式の、テキストベースの日付が含まれることを指定します。
- 10 進数データ型の場合: フィールドは、先行スペースがある文字列フォーマットの 10 進数を表すか、「-」の後に小数点以下の 10 進数が続き、小数点がゼロでない場合には小数点が埋め込まれます。 宛先文字列の形式は、[+ | -]ddd.[ddd] で、その精度およびスケールの引数は無視されます。
- 数値フィールド (int8、 int16、 int32、 uint8、 uint16、 uint32、sfloat、および dfloat) の場合: DataStage は、数値フィールドがテキストとして表されると想定します。
- 時刻データ・タイプの場合: テキストは、フィールドがテキスト・ベースの形式 %hh:%nn:%s またはデフォルトの日付形式で時刻を表すことを指定します (NLS システムで新しいものを定義している場合)。
- タイム・スタンプ・データ・タイプの場合: text は、テキスト・ベースのタイム・スタンプを %yyyy-%mm-%dd %hh: %nn:%sの形式で指定するか、NLS システムで新しい日付を定義した場合はデフォルトの日付形式で指定します。
- フィールドの最大幅。 ストリングとして表される列における最大バイト数。 数値を入力してください。 これは、数値をテキストとして保管する場合に役立ちます。 固定幅の文字セットを使用している場合は、長さを正確に計算できます。 可変長文字セットを使用している場合は、フィールドに十分な最大幅を計算します。 これは、日付、時刻、タイム・スタンプ、およびローを除くすべてのデータ・タイプのフィールドに適用されます。また、このタイプのフィールドが少なくとも 1 つ含まれている場合は、レコード、サブレコード、またはタグ付きも対象外となります。
- フィールド幅。 1 つの文字列として表される、フィールド内のバイト数。 数値を入力してください。 これは、数値をテキストとして保管する場合に役立ちます。 固定幅の文字セットを使用している場合は、バイト数を正確に計算できます。 可変長エンコード方式の場合は、可変幅文字の幅と頻度に基づいて計算します。 これは、日付、時刻、タイム・スタンプ、およびローを除くすべてのデータ・タイプのフィールドに適用されます。また、このタイプのフィールドが少なくとも 1 つ含まれている場合は、レコード、サブレコード、またはタグ付きも対象外となります。
フィールド幅もフィールドの最大幅も指定しない場合、テキストとして書き込まれる数値フィールドは、次のバイト数を最大幅として使用します。
- 8 ビット符号付きまたは符号なし整数: 4 バイト
- 16 ビット符号付きまたは符号なし整数: 6 バイト
- 32 ビット符号付きまたは符号なし整数: 11 バイト
- 64 ビット符号付きまたは符号なし整数: 21 バイト
- 単精度浮動小数点: 14 バイト (符号、数字、小数点、7 桁、「E」、符号、2 指数)
- 倍精度浮動小数点 : 24 バイト (符号、数字、小数点、16 部分、「E」、符号、 3 指数)
- 埋め込み文字。 このプロパティーは、出力リンクでは無視されます。
- 文字セット。 文字セットを指定します。 ASCII または EBCDIC を選択します。 デフォルトは CSIF です。 ロウおよび ustring を除くすべてのデータ型に適用され、ロウまたは ustring 以外のフィールドを含まないレコード、subrec、またはタグが適用されます。
String
- EBCDIC を ASCII としてエクスポート。 出力リンクには関係ありません。
- ASCII を EBCDIC としてインポート。 ASCII 文字を EBCDIC 文字として読み取るように指定する場合に選択します。
10 進数
- すべてゼロを許可。 これは、すべてゼロを含むパック 10 進数列 (通常は正しくない) をゼロの有効な表現として扱うかどうかを指定します。 「はい」または「いいえ」を選択します。 デフォルトは「いいえ」です。
- 小数点。 小数点として機能する文字 (デフォルトではピリオド) を指定します。
- パック。 10 進数列に含まれる内容を指定するオプションを選択します。以下から選択します。
- 「はい (Yes)」: 10 進数フィールドにパック 10 進数形式 (デフォルト) のデータを含めることを指定する場合。 これには、以下のサブプロパティーがあります。
確認: データがパックされていることを確認する場合は「はい」を選択し、確認しない場合は「いいえ」を選択します。
符号付き (Signed)。 10 進数列の書き込み時に既存の符号を使用する場合は「はい (Yes)」を選択します。 列の実際の符号値に関係なく正符号 (0xf) を書き込む場合は「いいえ (No)」を選択します。
- いいえ (別個) (No (separate)): 別個の符号バイトを持つアンパック 10 進数を含んでいる場合。 これには以下のサブプロパティーがあります。
符号位置。 必要に応じて「先頭 (leading)」または「末尾 (trailing)」を選択します。
- いいえ (ゾーニング) (No (zoned)): ASCII テキストまたは EBCDIC テキストのいずれかでアンパック 10 進数が含まれていることを指定する場合。 これには以下のサブプロパティーがあります。
符号位置。 必要に応じて「先頭 (leading)」または「末尾 (trailing)」を選択します。
- いいえ (オーバーパンチ) (No (overpunch)): フィールドの先頭バイトまたは終了バイトに含まれる文字が、そのバイトの数値を指定していて、さらにその数値が全体として負の符号付きなのか正の符号付きなのかも指定していることを規定する場合。 これには以下のサブプロパティーがあります。
符号位置。 必要に応じて「先頭 (leading)」または「末尾 (trailing)」を選択します。
- 「はい (Yes)」: 10 進数フィールドにパック 10 進数形式 (デフォルト) のデータを含めることを指定する場合。 これには、以下のサブプロパティーがあります。
- 精度。 パック 10 進数の精度を指定します。 数値を入力してください。
- 丸め。 これは、ソース・フィールドを 10 進数に読み取るときに宛先の 10 進数に合うようにソース・フィールドを丸める方法を指定します。 以下の中から選択してください。
- 上 (天井)。 ソース列を正の無限大方向に切り捨てます。 このモードは「IEEE 754 切り上げ」モードに対応しています。 例えば、1.4 は 2 になり、 -1.6 は -1 になります。
- 下 (フロア)。 ソース列を負の無限大方向に切り捨てます。 このモードは「IEEE 754 切り捨て」モードに対応しています。 例えば、1.6 が 1 になると、-1.4 が -2になります。
- 最も近い値。 ソース列を最も近い表現可能な値に丸めます。 このモードは「COBOL ROUNDED」モードに対応しています。 例えば、1.4 は 1 になり、1.5 は 2 になり、-1.4 は -1 になり、-1.5 は -2 になります。
- ゼロに向かって切り捨てる。 これはデフォルトです。 符号に関係なく、宛先によってサポートされている右端の小数桁の右側にある小数桁を破棄します。 例えば、宛先が整数の場合は、すべての小数桁が切り捨てられます。 宛先が、より小さいスケールを持つ別の 10 進数である場合は、宛先の 10 進数のスケール・サイズに切り捨てます。 このモードは COBOL INTEGER-PART 関数に対応しています。 この方式を使用した場合、1.6 は 1 になり、-1.6 は -1 になります。
- スケール. ソース・パック 10 進数のスケールを指定します。
数値
- C フォーマット。 字列データから整数または浮動小数点へ、デフォルト以外のデータ変換を実行します。 このプロパティーは、整数または浮動小数点の文字列の読み取りに使用される C 言語形式の文字列を指定します。 これは sscanf() に渡されます。例えば、C フォーマットの %x を指定し、フィールド幅 8 を指定すると、32 ビットの整数が 8 バイトの 16 進数文字列としてフォーマットされるようになります。
- In_format。 ストリングから整数または浮動小数点データへのデータの変換に使用されるフォーマット・ストリング。これは sscanf() に渡されます。 デフォルトでは、 DataStage は C sscanf() 関数を呼び出して、ストリングとしてフォーマット設定された数値フィールドを整数または浮動小数点データに変換します。 この関数がデータを満足のいく形式で出力しない場合は、in_format プロパティーを指定して、フォーマット引数を sscanf() に渡すことができます。
- Out_format。 このプロパティーは、出力リンクには関係ありません。
日付
- 以降の日数. 日付は、指定日付以降の日数を含む符号付き整数として書き込まれます。 NLS システムで新しい日付を定義した場合は、%yyyy-%mm-%dd 形式またはデフォルトの日付形式で日付を入力してください。
- 書式制御ストリング。 日付の文字列フォーマット。 デフォルトでは、これは %yyyy-%mm-%dd です。
- ユリウス暦。 これは、ユリウス日を含む数値として日付が書き込まれることを指定する場合に選択します。 ユリウス日は、西暦紀元前 4713 年 1 月 1 日 12:00 (正午) GMT からの日数として日付を指定します。
時刻
- 書式制御ストリング。 時刻をストリングとして表す列のフォーマットを指定します。 デフォルトでは、%hh-%mm-%ss です。
- midnight seconds です。 これは、直前の午前 0 時から経過した時間 (秒) を含む 2 進 32 ビット整数として時刻が書き込まれることを指定する場合に選択します。
タイム・スタンプ
- 書式制御ストリング。 タイム・スタンプをストリングとして表す列のフォーマットを指定します。 このフォーマットは、日付ストリングおよび時刻ストリングのフォーマットを結合します。
出力の単一列としてのファイル全体の読み取り
順次ファイル・コネクターのフォーマット設定プロパティーを設定して、ファイル全体の内容を 1 列のデータ形式で出力することができます。 例えば、順次ファイル・コネクターは、CSV ファイルの列と行を解析する代わりに、ファイル全体を 1 つの長い VARCHAR ストリングとして読み取ります。 この機能は、処理のために XML ファイル全体を単一レコードとして階層ステージにフィードする場合に役立ちます。
- DataStage フローにある順次ファイル・コネクターのプロパティー・パネルを開きます。
- 「出力」 タブをクリックし、プロパティーの 「フォーマット」 セクションを開きます。
- 「ファイル全体を 1 列として読み取る」のチェック・ボックスを選択し、変更を保存します。