ソート処理

オペレーション名

ソート

機能概要

入力データをソートします。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。

= 備考 =

入出力のスキーマについては、「テーブルモデル型 」を参照してください。

プロパティ

基本設定

項目名

必須/省略可

変数の使用

説明

備考

名前

必須

使用不可

スクリプトキャンバス上での名前を入力します。

 

入力データ

必須

使用不可

スクリプトキャンバス上にあるコンポーネントを選択します。

 

必須設定

項目名

必須/省略可

変数の使用

説明

備考

ソートキー設定

必須

-

ソート処理のキーとなる列を指定します。

上の行に設定したキーの比較優先順位が高くなります。

各列は以下のボタンで操作することができます。

[上へ]

キーの比較優先順位を上げます。

[下へ]

キーの比較優先順位を下げます。

[追加]

キーを追加します。

[削除]

キーを削除します。

  • キーとなる列を複数指定した場合は、優先度の高いキーから順次比較していきます。比較した結果が等しい場合のみ、後続のキーを比較します。

  • キーとなる列をすべて比較した結果で順序が等しい場合のデフォルトの動作は、該当する行データの出力順序を保証しません。

注意

データ型がbyte[]型の列を指定してソートすることはできません。

ソートキー設定/列名

必須

使用不可

キーとなる列名を選択します。

  • 列名の後ろに順序を表すインデックスを表示します。

  • [入力データ]の値を選択・変更した場合、列名は更新されます。

ソートキー設定/データ型

必須

使用不可

キーとなる列が文字列の場合、ソート時のデータ型を選択します。

[文字列]

(デフォルト)

列を変換せずにそのまま比較します。

[数値]

列を数値に変換して比較します。

[日付/時間]

列を日時に変換して比較します。

  • [ソートキー設定/列名]に指定した列のデータ型が文字列の場合、有効になります。

  • [日付/時間]を選択した場合、HULFT Squareの日付フォーマットを使用して文字列から日時に変換します。

ソートキー設定/順序

必須

使用不可

ソート処理の順序を選択します。

[昇順]

(デフォルト)

列が昇順になるように行データを並び替えます。

[降順]

列が降順になるように行データを並び替えます。

  • 列が文字列の場合、[ソートキー設定/データ型]で指定したデータ型に応じた順序で並び替えます。

  • 列が文字列以外の場合、列のデータ型に応じた順序で並び替えます。

  • 文字列として並び替える場合、順序はUnicode順となります。

ソートキーの値が同じデータは入力順序を維持する

省略可

使用不可

ソートキーの値が同じデータの場合、入力データの順序を維持するかどうかを選択します。

[チェックあり]

順序を維持します。

[チェックなし]

(デフォルト)

順序は維持されません。

  • チェックを入れた場合、処理パフォーマンスが低下する可能性があります。

出力設定

項目名

必須/省略可

変数の使用

説明

備考

出力を手動で設定

省略可

使用不可

出力対象となる列を手動で設定するかどうかを選択します。

[チェックあり]

出力対象を手動で設定します。

[チェックなし]

(デフォルト)

指定済みのプロパティ項目の内容に応じて、出力対象を自動的に設定します。

  • チェックを入れない場合、出力対象は以下の順序になります。

    1. [入力データ]の入力スキーマの順序

出力対象設定

省略可

-

出力対象となる列を指定します。

各列は以下のボタンで操作することができます。

[上へ]

出力対象の出力順を1列分上に移動します。

[下へ]

出力対象の出力順を1列分下に移動します。

[追加]

出力対象を追加します。

[削除]

出力対象を削除します。

  • [出力を手動で設定]にチェックを入れた場合、有効になります。

出力対象設定/列名

必須

使用不可

出力対象となる列の列名を選択します。

  • 列名の後ろに順序を表すインデックスを表示します。

  • [入力データ]の値を選択・変更した場合、列名は更新されます。

コメント

項目名

必須/省略可

変数の使用

説明

備考

コメント

省略可

使用不可

このコネクターの簡単な説明を記述することができます。

 

スキーマ

入力スキーマ

入力元コンポーネントのスキーマと同じです。

出力スキーマ

[出力設定]の設定により、カラム数が異なります。

= 備考 =

スキーマ構造については、「テーブルモデル型 」を参照してください。

Mapperでのスキーマ読み込み

出力スキーマは自動で読み込まれますが、入力スキーマは手動で読み込む必要があります。

読み取りを行うデータのスキーマを指定してください。

= 備考 =

詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理には対応していません。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名

説明

備考

message_category

エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。

  • デフォルト値はnullです。

message_code

エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。

  • デフォルト値はnullです。

message_level

エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。

  • デフォルト値はnullです。

error_type

エラー発生時、発生したエラーの種類が格納されます。

  • デフォルト値はnullです。

  • エラーの種類は、以下のような形式となります。

    例:「java.io.FileNotFoundException」

error_message

エラー発生時、発生したエラーのメッセージが格納されます。

  • デフォルト値はnullです。

error_trace

エラー発生時、発生したエラーのトレース情報が格納されます。

  • デフォルト値はnullです。

入力元コンポーネントのスキーマ変更について

  • [入力データ]に指定したコンポーネントのスキーマを変更した場合、ソート処理にその変更を反映させるため、ソート処理のプロパティ設定ダイアログを開いて[完了]ボタンをクリックしてください。

  • [入力データ]に指定したコンポーネントのスキーマ構造を変更(スキーマの要素の順序変更や削除など)した場合、[ソートキー設定/列名][出力対象設定/列名]の設定も合わせて変更する必要があります。

    これは、ソート処理が列情報を名前ではなく順序(インデックス)で保持しているためです。

nullと空文字について

  • [ソートキー設定]で指定した列の値にnullが存在する場合、エラーが発生します。

  • [ソートキー設定]で指定した列の値に空文字が存在する場合、[ソートキー設定/データ型]で指定した値により動作が異なります。

    • [文字列]の場合、空文字をソートキーの値として処理します。

    • [文字列]以外の場合、エラーが発生します。

仕様制限

  • 並列処理をサポートしています。

    = 備考 =

    並列処理の仕様制限については、「仕様制限」を参照してください。

  • [ソートキー設定]および[出力対象設定]を指定する際には、入力元コンポーネントの出力スキーマが設定されている必要があります。

    スキーマを手動で設定するコンポーネントの場合は、Mapperでスキーマを読み込んでください。

  • [ソートキー設定/データ型][日付/時間]を選択した場合、指定した列の値に複数の日付フォーマットが混在すると、実行時にエラーが発生します。

  • 入力元のコンポーネントが大容量データ処理を行う場合でも、ソート処理では一時的にデータをメモリ中に保持します。

    そのためデータが大きい場合には、大容量データ処理時にもOutOfMemoryErrorが発生する可能性があります。

例外メッセージ

例外名

原因

対策

InputDataNotFoundException

[入力データ]が指定されていません。

[入力データ]を指定する、またはデータフローを引いてください。

InvalidInputTypeException

[入力データ]がテーブルモデル型ではありません。

[入力データ]がテーブルモデル型かどうかを確認してください。

InvalidPropertyConfigurationException

<プロパティ名>に値が指定されていません。

[<プロパティ名>]に値が指定されていません。

[<プロパティ名>]を指定してください。

InvalidPropertyConfigurationException

<プロパティ名1>の[<行番号>]行目の[<プロパティ名2>]に値が指定されていません。

[<プロパティ名2>]に値が指定されていません。

[<プロパティ名2>]を指定してください。

InvalidPropertyConfigurationException

<プロパティ名>の[<行番号>]行目に指定された値が重複しています。

[<プロパティ名>]に指定した値が重複しています。

[<プロパティ名>]に指定した値が適切かどうかを確認してください。

ConversionFailedException

列の値をソートキーとして処理できません。

入力データの内容に、[ソートキー設定]に指定したとおりに処理できない値が含まれています。

入力データが[ソートキー設定]に指定した内容に適合するかどうか、またはnullや空文字が含まれているかどうかを確認してください。

ConversionFailedException

[<列の値>]に適用可能な日付フォーマットが見つかりませんでした。

[<列の値>]に適用可能な日付フォーマットが見つかりませんでした。

[<列の値>]がHULFT Squareの日付フォーマットにしたがっているか確認してください。