SnowConvert AI - Hive - Tipos de dados¶
O Snowflake oferece suporte à maioria dos tipos de dados SQL básicos (com algumas restrições) para colunas, variáveis locais, expressões, parâmetros e outros locais apropriados/adequados.
Applies to
Hive SQL
Spark SQL
Databricks SQL
Números exatos e aproximados¶
| 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. |
Data e hora ¶
Hive-Spark-Databricks SQL |
Snowflake |
Notas |
|---|---|---|
DATE |
DATE |
Equivalente direto para armazenamento de datas do calendário (ano, mês, dia). |
TIMESTAMP |
TIMESTAMP_NTZ |
O Snowflake oferece diversas variações de carimbo de data/hora. TIMESTAMP_NTZ (sem fuso horário) é muitas vezes o melhor equivalente geral se sua TIMESTAMP do Spark não tem informações específicas de fuso horário vinculadas aos próprios dados. |
Cadeias de caracteres ¶
Hive-Spark-Databricks SQL |
Snowflake |
Notas |
|---|---|---|
STRING |
VARCHAR |
VARCHAR do Snowflake é o tipo de cadeia de caracteres mais comum e flexível. Pode armazenar cadeias de caracteres de tamanho variável. |
VARCHAR(n) |
VARCHAR(n) |
Equivalente direto para cadeias de caracteres de tamanho variável com um comprimento máximo. |
CHAR(n) |
CHAR(n) |
Equivalente direto para cadeias de caracteres de tamanho fixo. |
Cadeias de caracteres binárias ¶
Hive-Spark-Databricks SQL |
Snowflake |
Notas |
|---|---|---|
BINARY |
BINARY |
Equivalente direto para armazenamento de sequências de bytes brutos. |
Tipo booliano ¶
Hive-Spark-Databricks SQL |
Snowflake |
Notas |
|---|---|---|
BOOLEAN, BOOL |
BOOLEAN |
Equivalente direto para armazenamento de valores booleanos (TRUE/FALSE). |
Tipo complexo ¶
Hive-Spark-Databricks SQL |
Snowflake |
Notas |
|---|---|---|
ARRAY<DataType> |
ARRAY |
O tipo ARRAY do Snowflake pode armazenar listas ordenadas de elementos de um determinado tipo de dados. O dataType dentro da matriz também deve ser mapeado. |
MAP<keyType, valueType> |
VARIANT |
|
STRUCT<name: dataType, …> |
VARIANT |
|
INTERVAL |
VARCHAR(30) |
O tipo de dados INTERVAL não é compatível como Snowflake. VARCHAR é usado no lugar dele. |