Skip to content

TD Native Data Types

Treasure AI は、多くの異なるデータのソースとターゲットをサポートしています。プラットフォーム全体でスキーマの一貫性を保つため、Treasure AI は table schema に特定の native data types を使用します。

Treasure Data (TD) は、Trino や Hive などの異なる query engine を使用してクエリを処理します。各エンジンには独自の data type system があり、TD native data types は query engine で使用可能な型にマッピングされます。

TD native data types と query engine、storage の関係を理解することが重要です。理解していない場合、期待とは異なる query result や data type が表示されることがあります。

サポートされていない data type を保存する場合は、cast() を使用して TD が natively supported data type に変換することを検討してください。

サポートされている TD native data types

次の TD native data types は table schema で使用できます。

Data type説明
stringテキスト値。
int整数値。
longlong 整数値。
float浮動小数点値。
double倍精度浮動小数点値。
array of strings要素が strings の array。
array of ints要素が integers の array。
array of longs要素が long integers の array。
array of floats要素が floating-point values の array。
array of doubles要素が double-precision floating-point values の array。
array of arrays of stringsinner array の要素が strings である nested array。
array of arrays of intsinner array の要素が integers である nested array。
array of arrays of longsinner array の要素が long integers である nested array。
array of arrays of floatsinner array の要素が floating-point values である nested array。
array of arrays of doublesinner array の要素が double-precision floating-point values である nested array。

Schema edit UI では、array types は array of stringsarray of intsarray of longsarray of floatsarray of doubles、または nested array of arrays of ... types として選択します。

TD native data types と query engine、storage の関係

TD native data types は、ユーザーが table schema に選択する schema type です。query engine と storage にはそれぞれ独自の type system があるため、同じ column でも確認する場所によって異なる型として表現されることがあります。

Query engine type mapping

Treasure Data Trino Hive
intbigintsmallint
intbigintint
longbigintbigint
doubledoubledecimal
floatdoublefloat
doubledoubledouble
string または int に変換booleanboolean
stringvarcharstring または varchar
string または long に変換datestring
string または long に変換timestamptimestamp

Array types は、各 query engine の対応する array type にマッピングされます。

TD native data type Query engine representation
array of stringsstring values の array。
array of intsarray of longsinteger または bigint values の array。
array of floatsarray of doublesfloating-point values の array。
array of arrays of ...nested array values。

query engine によって type syntax の表示が異なる場合があります。query engine の data types については、OSS ドキュメントを参照してください。

Storage format

TD は table data を MessagePack mpc1 format で保存します。MessagePack mpc1 は内部 storage format であり、ユーザーが Schema edit UI で選択する TD native data types とは異なります。

Query result type behavior

一部の query result path では、table schema で選択した TD native data type そのものではなく、マッピング後の型が表示されることがあります。たとえば、ResultWorker の Hive query result では、float data type は double data type になります。

TD primitive data types ResultWorker の Hive query result Trino result msgpack ValueType
intint > intInteger
longbigint > longinteger
floatfloat > doublefloat
doubledouble > doublefloat
stringstring > stringstring