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-DatabricksSQL | Snowflake | Notes |
|---|---|---|
| TINYINT, SHORT | SMALLINT | Snowflake's SMALLINT has a larger range (-32768 to +32767) than Spark's TINYINT (-128 to +127). This should generally be a safe transformation. |
| SMALLINT | SMALLINT | Direct equivalent in terms of range. |
| INT, INTEGER | INT, INTEGER | Direct equivalent in terms of range. |
| BIGINT | BIGINT | 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). |
| FLOAT | FLOAT | Direct equivalent in terms of range. |
| DOUBLE, DOUBLE PRECISION | DOUBLE | Generally a good equivalent for double-precision floating-point numbers. |
| REAL | REAL | If 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. |