SnowConvert AI - Hive - Types de données

Snowflake prend en charge la plupart des types de données SQL de base (avec certaines restrictions) pour les colonnes, les variables locales, les expressions, les paramètres et les autres emplacements appropriés/adaptés.

Applies to
  • Hive SQL

  • Spark SQL

  • Databricks SQL

Numériques exacts et approximatifs

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.

Date et heure

Hive-Spark-Databricks SQL

Snowflake

Remarques

DATE

DATE

Équivalent direct pour le stockage des dates du calendrier (année, mois, jour).

TIMESTAMP

TIMESTAMP_NTZ

Snowflake propose plusieurs variantes d’horodatage. TIMESTAMP_NTZ (aucun fuseau horaire) est souvent le meilleur équivalent général si votre TIMESTAMP Spark ne dispose pas d’informations spécifiques sur le fuseau horaire liées aux données elles-mêmes.

Chaînes de caractères

Hive-Spark-Databricks SQL

Snowflake

Remarques

STRING

VARCHAR

​VARCHAR de Snowflake est le type de chaîne le plus courant et le plus flexible. Il peut stocker des chaînes de longueur variable.

VARCHAR(n)

VARCHAR(n)

Équivalent direct pour les chaînes de longueur variable avec une longueur maximale.

CHAR(n)

CHAR(n)

Équivalent direct pour les chaînes de longueur fixe.

Chaînes binaires

Hive-Spark-Databricks SQL

Snowflake

Remarques

BINARY

​BINARY

Équivalent direct pour le stockage des séquences d’octets brutes.

Type booléen

Hive-Spark-Databricks SQL

Snowflake

Remarques

BOOLEAN, BOOL

​BOOLEAN

Équivalent direct pour le stockage des valeurs booléennes (TRUE/FALSE).

Type complexe

Hive-Spark-Databricks SQL

Snowflake

Remarques

ARRAY<DataType>

​ARRAY

Le type ARRAY de Snowflake peut stocker des listes d’éléments ordonnées d’un type de données spécifié. Le dataType dans le tableau doit également être mappé en conséquence.

MAP<keyType, valueType>

VARIANT

STRUCT<name: dataType, …>

VARIANT

INTERVAL

VARCHAR(30)

Le type de données INTERVAL n’est pas pris en charge dans Snowflake. VARCHAR est utilisé à la place.