[CSVまたはParquet形式のデータの場合はオプション。それ以外の場合は許可されません。] 外部ファイル内の1つ以上のデータ列の定義を、レコードが外部ファイルに表示される順序で指定します。
location_columnおよびpayload_columnまたはdata_column_definitionフィールドは、NOSが生成するため、オプションです。CSVの場合、NOSが列を生成できない場合は、代わりに DATASET CSV のペイロード列を生成します。
各data_column_definitionの形式はcolumn_name data_typeです。
CSVファイル
NOSはデータ自体の情報からデータ列を作成するため、データ列はオプションです。列とそのデータ型を宣言すると、NOSはそれらの正確さをチェックします。
データ列を指定すると、次のルールが適用されます:
- column_nameは、ヘッダー レコードの対応する列の名前と一致する必要はありません。
- data_typeは、CSVレコードの対応するフィールドに関連付けるVantage列のデータ型です。
- CSVテーブルの場合、data_typeは次のいずれかである必要があります:
- SMALLINT
- INTEGER
- BIGINT
- DECIMAL(precision、scale)。ここで、precisionの範囲は[1、38]、scaleの範囲は[0、38]です。
- BYTEINT
- NUMBER
- REAL、FLOAT、またはDOUBLE PRECISION
- BYTE
- VARBYTE
- CHAR CHARACTER SET { LATIN | UNICODE }
- VARCHAR CHARACTER SET { LATIN | UNICODE }
- 最大16MBのCLOB
- 最大16MBのBLOB
- DATE
- INTERVAL
- TIME
- TIMESTAMP
ユーザー定義型(UDT)および期間データ型(PDT)はサポートされていません。 - data_typeは次の属性を指定できます:
- CASESPECIFIC
- UPPERCASE
- FORMAT
- TITLE
- data_typeは次の属性を指定できません:
- NOT NULL
- COMPRESS
- CONSTRAINT
- REFERENCES
- CHECK
- data_type が数値型の場合:
- データを表示するFORMATを指定できます。
- 一重引用符で囲まれたフィールド値は文字列として扱われるため、エラーが発生し、Vantageがレコードをスキップします。
- data_typeが日付型の場合:
- Vantageは、その形式を使用して、日、月、および年の位置を決定します。
- デフォルトの形式は「YY/MM/DD」です。
- 別の形式を指定できます。
- CSVレコードの日付フィールドにデフォルトの形式がない場合は、その形式を指定する必要があります。
- 指定する形式は、月をMMとして、日をDDとして表す必要があります。
- data_typeが文字型の場合:
- フィールド値は一重引用符または二重引用符で囲むことができます。
囲んでいる二重引用符を削除するには、STRIP_ENCLOSING_CHARを使用します。(一重引用符を削除することはできません。)
- フィールド値には、先頭のスペース、末尾のスペース、またはその両方を含めることができます。
- デフォルトでは、Vantageは外部のスペース文字(先頭または末尾のスペース)を削除しません。
外部のスペース文字を削除するには、STRIP_EXTERIOR_SPACESまたはSQL関数(TRIM、LTRIM、およびRTRIM)のいずれかを使用します。
- フィールド値は一重引用符または二重引用符で囲むことができます。
- 一部のレコードのフィールド数よりも多くの列を指定すると、Vantageは余剰分の各列に値NULLを与えます。
- 一部のレコードのフィールド数よりも少ない列を指定すると、Vantageは余分のフィールドを無視します。
Parquetファイル
data_typeは、ParquetスキーマのParquetデータ型に対応するVantageデータ型である必要があります。
Parquetデータ型 | 対応するVantageのデータ型 | 説明 |
---|---|---|
UINT_8 | SMALLINT | 0から255の範囲の符号なし整数。 |
UINT_16 | INTEGER | 0から65535の範囲の符号なし整数。 |
UINT_32 | BIGINT | 0から4,294,967,295の範囲の符号なし整数。 |
UINT_64 | DECIMAL(20,0) | 0から18,446,744,073,709,551,615の範囲の符号なし整数。 |
INT_8 | BYTEINT | -128から127の範囲の符号付き整数。 |
INT_16 | SMALLINT | -32768から32767の範囲の符号付き整数。 |
INT_32 | INTEGER | -2,147,483,648から2,147,483,647の範囲の符号付き整数。 |
INT_64 | BIGINT | -9,223,372,036,854,775,808から9,223,372,036,854,775,807の範囲の符号付き整数。 |
INT_96 | TIMESTAMP(6) | タイムスタンプを示すために使用されます。最初の8バイトはナノ秒数で、次の4バイトはユリウス日以降の日数です。 |
DECIMAL(p,s) | DECIMAL(p,s) | precision(値全体の桁数)が1から38(両端を含む)の範囲で、scale(小数点以下の桁数)が0から38(両端を含む)の範囲の小数。 |
VARBYTE(p+1)、ここでpはDECIMALのprecision。 | precisionとscaleが38より大きい。 | |
FLOAT | REAL | IEEE 32ビット浮動小数点。 |
DOUBLE | REAL | IEEE 64ビット浮動小数点。 |
DATE | DATE | UNIXエポック時刻(1970年1月1日)からの日数。 |
TIME_MILLIS | TIME(3)またはTIME(6) | ミリ秒単位で時間を格納します。 |
TIME_MICROS | TIME(6) | マイクロ秒単位で時間を格納します。 |
TIMESTAMP_MILLIS | TIMESTAMP(3)またはTIMESTAMP(6) | ミリ秒単位でタイムスタンプを格納します。 |
TIMESTAMP_MICROS | TIMESTAMP(6) | マイクロ秒単位でタイムスタンプを格納します。 |
INTERVAL | VARCHAR CHARACTER SET UNICODE | 月、日、ミリ秒単位での保存間隔。 |
BOOL | BYTEINT | ブール値(TrueまたはFalse)。 |
STRING | VARCHARまたはCLOB CHARACTER SET UNICODE | UTF8バイト配列としてエンコードされます。 |
BSON | JSON STORAGE FORMAT BSON | BSONデータ。 |
JSON | JSON CHARACTER SET UNICODE | JSONデータ。 |
STRUCT | VARCHARまたはCLOB CHARACTER SET UNICODE | 固定メンバーのグループ。 |
MAP | VARCHARまたはCLOB CHARACTER SET UNICODE | キーを値にマップします。 |
LIST | VARCHARまたはCLOB CHARACTER SET UNICODE | 配列に格納されているデータを含みます。 |
ENUM | VARCHARまたはCLOB CHARACTER SET UNICODE | UTF8文字列としてエンコードされた列挙値を格納します。 |
ARRAY | VARCHARまたはCLOB CHARACTER SET UNICODE | 繰り返しフィールドとして格納されます。単一の値または複数の値の配列を使用できます。 |