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-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.

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.