An 8-byte integer data type used in CREATE TABLE
and ALTER TABLE
statements.
Syntax:
In the column definition of a CREATE TABLE
statement:
column_name BIGINT
Range: -9223372036854775808 .. 9223372036854775807. There is no UNSIGNED
subtype.
Conversions: Impala automatically converts to a floating-point type
(FLOAT
or DOUBLE
) automatically. Use
CAST()
to convert to TINYINT
,
SMALLINT
, INT
,
STRING
, or TIMESTAMP
. Casting an integer or floating-point value
N
to TIMESTAMP
produces a value that is
N
seconds past the start of the epoch date (January 1, 1970). By
default, the result value represents a date and time in the UTC time zone. If the
setting ‑‑use_local_tz_for_unix_timestamp_conversions=true
is in effect, the resulting TIMESTAMP
represents a date and time in the
local time zone.
Examples:
CREATE TABLE t1 (x BIGINT);
SELECT CAST(1000 AS BIGINT);
Usage notes:
BIGINT
is a convenient type to use for column declarations because you can use any kind of
integer values in INSERT
statements and they are promoted to BIGINT
where
necessary. However, BIGINT
also requires the most bytes of any integer type on disk and in
memory, meaning your queries are not as efficient and scalable as possible if you overuse this type.
Therefore, prefer to use the smallest integer type with sufficient range to hold all input values, and
CAST()
when necessary to the appropriate type.
For a convenient and automated way to check the bounds of the BIGINT
type, call the
functions MIN_BIGINT()
and MAX_BIGINT()
.
If an integer value is too large to be represented as a BIGINT
, use a
DECIMAL
instead with sufficient digits of precision.
NULL considerations: Casting any non-numeric value to this type produces a
NULL
value.
Partitioning: Prefer to use this type for a partition key column. Impala can
process the numeric type more efficiently than a STRING
representation
of the value.
HBase considerations: This data type is fully compatible with HBase tables.
Text table considerations: Values of this type are potentially larger in text tables than in tables using Parquet or other binary formats.
Internal details: Represented in memory as an 8-byte value.
Added in: Available in all versions of Impala.
Column statistics considerations: Because this type has a fixed size, the maximum
and average size fields are always filled in for column statistics, even before you run
the COMPUTE STATS
statement.
Related information:
Numeric Literals, TINYINT Data Type, SMALLINT Data Type, INT Data Type, BIGINT Data Type, DECIMAL Data Type (Impala 3.0 or higher only), Impala Mathematical Functions