DataStageのスキーマファイルとは何ですか?

SCHEMA-FILES-IN-DATASTAGE

開発者は、各ステージの「列」タブで常に列とそのデータ型を定義します。

あなたは知っていますか、あなたは列タブ以外の列を定義する別の方法がありますか?

スキーマは、並列ジョブで使用されるデータの列定義を指定する別の方法です。

ご存知のように、デフォルトでは、ほとんどの並列ジョブステージは、テーブル定義を含む列タブからメタデータを取得し、必要に応じて書式タブの書式情報

一部のステージでは、代わりに指定したスキーマファイルからステージのメタデータを取得するプロパティを指定できます。

また読む:リンクソートとソートステージの違い

一部のステージでは、部分スキーマを指定することもできます。 これにより、特定のステージが処理している列のみを定義し、残りの列を無視することができます。

スキーマファイルはプレーンテキストファイルです。 そしてそれを’で保存することが好ましい。あなたはファイルシステムで簡単にそれらを識別できるように、スキーマの拡張子。

スキーマファイル形式:

スキーマにはレコード(または行)定義が含まれています。 これは、レコード内で検出される各列(またはフィールド)を記述し、列名とデータ型を指定します。 レコードスキーマの例を次に示します。

record(
name:string;
address:nullable string;
value1:int32;
value2:int32;
dateofbirth:date)

部分的なスキーマを定義している場合は、これらを省略できます。

record(name:string;value1:int32;dateofbirth:date)

record(name:string;value1:int32;dateofbirth:date)

record(name:string;value1:int32;dateofbirth:date)

record(name:string;value1:int32;dateofbirth:date)

)

有効なスキーマです。

列を記述する各行の形式は次のとおりです:

column_name:datatype;

column_name:これは、列を識別する名前です。 名前は、英字またはアンダースコア(_)で始まる必要があり、英数字またはアンダースコア文字のみを含めることができます。 名前では大文字と小文字は区別されません。

null許容:列にnull値を含めることを許可するかどうか、またはこれを無効と見なすかどうかをオプションで指定できます。 列がnullの場合は、’nullable’という単語を挿入します。 既定では、列はnull許容ではありません。

レコードレベルに’nullable’を含めて、すべての列がnull可能であることを指定し、’not nullable’を指定して個々の列の設定を上書きすることもできます。 たとえば、

レコードnullable(
名前:null許容文字列ではありません;
value1:int32;
dateofbirth:date)

データ型: これは列のデータ型です。 これは内部データ型を使用しますが、ステージエディタの列タブで使用されるSQLデータ型は使用しません。

スキーマ定義ファイルにコメントを含めることができます。 コメントはダブルスラッシュ//で始まり、改行で終わります。

スキーマファイルを使用して列メタデータを定義する場合は、常にランタイム列の伝播がオンになっていることを確認する必要があります。

も読む:フィールド関数はDataStageでどのように機能しますか?

コメントを残す

メールアドレスが公開されることはありません。