Hitachi

Hitachi Advanced Database メッセージ


KFAA31566-E

Processing to generate column definitions for the foreign table failed. (reason = "aa....aa") (M+J+O)

外部表の列定義の生成に失敗しました。 <SQLSTATE:42I7D>

aa....aa

エラーの原因

(S)

このSQL文を無視します。またはこのトランザクションを無効にします。

〔対策〕

aa....aaに出力されたエラーの原因に従って,次に示す対処をしてください。

aa....aaの値

エラーの原因

対処

the foreign data format is not PARQUET or ICEBERG

外部データのデータ形式指定にPARQUETまたはICEBERG以外を指定しています。

CREATE FOREIGN TABLE文の外部データのデータ形式指定にPARQUETまたはICEBERGを指定してください。

the foreign data does not exist in the directory from which data is to be retrieved

外部データの検索対象ディレクトリ下(サブディレクトリも含む)に,PARQUET形式の外部データファイルが存在しません。

外部データの検索対象ディレクトリ下に外部データファイルを格納してください。

the column name in the foreign data is invalid

  • 外部データの列名が,外部表の列名の規則の条件を満たしていません。

  • Icebergテーブルのメタデータに含まれる列名が,外部表の列名の規則の条件を満たしていません。

外部データの列名が次の条件を満たしているかどうかを確認してください。または,Icebergテーブルのメタデータに含まれる列名が,次の条件を満たしているかどうかを確認してください。満たしていない場合は,CREATE FOREIGN TABLE文がエラーになります。

  • 列名の先頭の文字が,半角英大文字AZ#@\_,半角英小文字,半角カタカナ,または全角文字のどれかである

  • 列名の文字が,半角英大文字AZ#@\_ ),数字,半角英小文字,半角カタカナ半角空白,ハイフン,半角垂直棒,全角文字のどれかである

  • 列名に全角空白を含んでいない

  • 列名の長さが100バイト以下である

詳細については,マニュアルHADB SQLリファレンス名前の指定名前に使用できる文字の規則列名を参照してください。

the data type of the foreign data is not compatible with the data types supported by HADB

  • 外部データの列のデータ型とHADBのデータ型に互換性がありません。

  • Icebergテーブルのメタデータに含まれる列のデータ型とHADBのデータ型に互換性がありません。

外部データの列のデータ型をHADBのデータ型と互換性のあるデータ型に変更してください。または,Icebergテーブルのメタデータに含まれる列のデータ型をHADBのデータ型と互換性のあるデータ型に変更してください。

  • 外部データがDECIMAL(precision=m, scale=n)型の場合,mnは,1≦m≦38,0≦n≦38,nmを満たしている

  • 外部データのバイナリデータのデータ長は1~32,000バイトである

  • 外部データのLIST型の要素データ型にはHADBのデータ型に互換性のあるデータ型を指定している

  • 外部データのLIST型の最大要素数は2~30,000である

  • 外部データのSTRUCT型に含まれるフィールド数の合計は1,000以下である

  • 外部データのLIST型の要素にSTRUCT型を入れ子にする場合,LIST型とSTRUCT型の繰り返しの数は8回以下である

  • 外部データのSTRUCT型の要素にSTRUCT型またはLIST型を入れ子にする場合,LIST型とSTRUCT型の繰り返しの数は8回以下である

詳細については,マニュアルHADB SQLリファレンスCREATE FOREIGN TABLE文の指定形式および規則の次の個所を参照してください。

  • 規則PARQUET形式の外部データの各列のデータ型とHADBのデータ型の対応の表

  • 列定義の指定を省略した場合の規則外部データのデータ形式指定にICEBERGを指定する場合Icebergテーブルのメタデータに含まれる列のデータ型とHADBのデータ型の対応

unsupported foreign data was detected

  • 外部データの列に,HADBがサポートしていないデータ型の列があります。

  • Icebergテーブルのメタデータに含まれる列に,HADBがサポートしていないデータ型の列があります。

HADBがサポートしていないデータ型の列を外部データから削除してください。

または,HADBがサポートしていないデータ型の列をIcebergテーブルのメタデータから削除してください。

the field name in the foreign data is invalid

  • 外部データのフィールド名が,外部表のSTRUCT型の列のフィールド名の規則の条件を満たしていません。

  • Icebergテーブルのメタデータに含まれるフィールド名が,外部表のSTRUCT型の列のフィールド名の規則の条件を満たしていません。

外部データのフィールド名が次の条件を満たしているかどうかを確認してください。満たしていない場合は,CREATE FOREIGN TABLE文がエラーになります。

  • フィールド名の先頭の文字が,半角英大文字AZ#@\_,半角英小文字,半角カタカナ,または全角文字のどれかである

  • フィールド名の文字が,半角英大文字AZ#@\_,数字,半角英小文字,半角カタカナ半角空白,ハイフン,半角垂直棒,全角文字のどれかである

  • フィールド名に全角空白を含んでいない

  • フィールド名の長さが100バイト以下である

詳細については,マニュアルHADB SQLリファレンス名前の指定名前に使用できる文字の規則フィールド名を参照してください。

the number of columns in the table exceeds maximum number

表の列数が上限を超えています。

  • 外部表の定義時にこのメッセージが出力された場合

    列定義を省略した場合に参照されるPARQUET形式の外部データファイルの列数と,パーティションキー列の列数の合計は4,000以下にしてください。

  • 外部表の検索時にこのメッセージが出力された場合

    検索対象の外部表が参照するIcebergテーブルのメタデータに含まれる列数の合計を4,000以下にしてください。

注※

外部表の検索時にこのメッセージが出力された場合は,検索対象の外部表が参照するIcebergテーブルのメタデータに含まれる列またはフィールドに問題があります。外部表の検索時にタイムトラベル指定を指定した場合,スナップショット時点のメタデータに含まれる列またはフィールドに問題があります。