SnowConvert AI – Hive – Datentypen

Snowflake unterstützt die meisten grundlegenden SQL-Datentypen (mit einigen Einschränkungen) bei Verwendung in Spalten, lokalen Variablen, Ausdrücken, Parametern und anderen geeigneten Orten.

Applies to
  • Hive SQL

  • Spark SQL

  • Databricks SQL

Exakte und ungefähre Zahlenangaben

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.

Datum und Uhrzeit

Hive-Spark-Databricks SQL

Snowflake

Anmerkungen

DATE

DATE

Direktes Äquivalent zum Speichern von Kalenderdaten (Jahr, Monat, Tag).

TIMESTAMP

TIMESTAMP_NTZ

Snowflake bietet verschiedene Zeitstempelvarianten an. TIMESTAMP_NTZ (keine Zeitzone) ist oft das beste allgemeine Äquivalent , wenn TIMESTAMP in Spark keine spezifischen Zeitzoneninformationen aufweist, die an die Daten selbst gebunden sind.

Zeichenfolgen

Hive-Spark-Databricks SQL

Snowflake

Anmerkungen

STRING

VARCHAR

​VARCHAR von Snowflake ist der gebräuchlichste und flexibelste Zeichenfolgentyp. Er kann Zeichenfolgen variabler Länge speichern.

VARCHAR(n)​

VARCHAR(n)

Direktes Äquivalent für Zeichenfolgen variabler Länge mit einer maximalen Länge.

CHAR(n)

CHAR(n)

Direktes Äquivalent für Zeichenfolgen fester Länge.

Binäre Zeichenfolgen

Hive-Spark-Databricks SQL

Snowflake

Anmerkungen

BINARY

​BINARY

Direktes Äquivalent zum Speichern von Raw-Bytesequenzen.

Boolescher Typ

Hive-Spark-Databricks SQL

Snowflake

Anmerkungen

BOOLEAN, BOOL

​BOOLEAN

Direktes Äquivalent zum Speichern von booleschen Werten (TRUE/FALSE).

Komplexer Typ

Hive-Spark-Databricks SQL

Snowflake

Anmerkungen

ARRAY<DataType>

​ARRAY

Der ARRAY-Typ von Snowflake kann geordnete Listen von Elementen eines bestimmten Datentyps speichern. Der „dataType“ innerhalb des Arrays sollte auch entsprechend zugeordnet sein.

MAP<keyType, valueType>

VARIANT

STRUCT<name: dataType, …>

VARIANT

INTERVAL

VARCHAR(30)

Der INTERVAL-Datentyp wird in Snowflake nicht unterstützt. Stattdessen wird VARCHAR verwendet.