SnowConvert AI - Hive - データ型

Snowflakeは、列、ローカル変数、式、パラメーター、およびその他の適切な目的に合った場所について、基本的な SQL データ型のほとんどをサポートしています(いくつかの制限があります)。

Applies to
  • Hive SQL

  • Spark SQL

  • Databricks SQL

厳密な数値と近似的な数値

SparkSQL-DatabricksSQLSnowflakeNotes
TINYINT, SHORTSMALLINT​Snowflake's SMALLINT has a larger range (-32768 to +32767) than Spark's TINYINT (-128 to +127). This should generally be a safe transformation.
SMALLINTSMALLINTDirect equivalent in terms of range.
INT, INTEGERINT, INTEGER​Direct equivalent in terms of range.
BIGINTBIGINT​Direct equivalent in terms of range.
DECIMAL(p, s)​NUMBER(p, s)Snowflake's NUMBER(p, s) is the direct equivalent for fixed-precision and scale numbers. p is the precision (total number of digits) and s is the scale (number of digits to the right of the decimal point).
NUMERIC(p, s)NUMBER(p, s)Synonym for DECIMAL(p, s), maps directly to Snowflake's NUMBER(p, s).
FLOATFLOATDirect equivalent in terms of range.
DOUBLE, DOUBLE PRECISIONDOUBLEGenerally a good equivalent for double-precision floating-point numbers.
REALREALIf REAL in your Spark context is strictly single-precision, be mindful of potential precision differences.

日時

Hive-Spark-Databricks SQL

Snowflake

メモ

DATE

DATE

カレンダーの日付(年、月、日)を保存するための直接的な同等物。

TIMESTAMP

TIMESTAMP_NTZ

Snowflakeはタイムスタンプのバリエーションをいくつか提供しています。Spark TIMESTAMP にデータ自体に関連付けられた特定のタイムゾーン情報がない場合は、 TIMESTAMP_NTZ (タイムゾーンなし)が一般的な同等物として最適です。

文字列

Hive-Spark-Databricks SQL

Snowflake

メモ

STRING

VARCHAR

​Snowflakeの VARCHAR は、最も一般的で柔軟性の高い文字列型です。可変長の文字列を格納できます。

VARCHAR(n)

VARCHAR(n)

最大長を持つ可変長文字列に対する直接的な同等物。

CHAR(n)

CHAR(n)

固定長文字列に対する直接的な同等物。

バイナリ文字列

Hive-Spark-Databricks SQL

Snowflake

メモ

BINARY

​BINARY

rawバイトシーケンスを格納するための直接的な同等物。

Boolean型

Hive-Spark-Databricks SQL

Snowflake

メモ

BOOLEAN、 BOOL

​BOOLEAN

boolean( TRUE/FALSE )値を格納するための直接的な同等物。

Complex型

Hive-Spark-Databricks SQL

Snowflake

メモ

ARRAY<DataType>

​ARRAY

Snowflakeの ARRAY 型は、指定したデータ型の要素の順序付きリストを格納できます。配列内のdataTypeもそれに応じてマッピングする必要があります。

MAP<keyType, valueType>

VARIANT

STRUCT<name: dataType, ...>

VARIANT

INTERVAL

VARCHAR(30)

INTERVAL データ型はSnowflakeでは サポートされていません 。代わりに VARCHAR が使用されます。