The literal values of each of the Impala data types have a matching notation. In SQL statements, such as the SELECT list or WHERE clause of a query, or as a parameter to a function call, you specify literal values.
It will automatically discover the data type depending on the value once you specify the value for the column.
The following are samples taken from the documentation:
[localhost:21000] > create table ten as select 10 as x; +-------------------+ | summary | +-------------------+ | Inserted 1 row(s) | +-------------------+ [localhost:21000] > desc ten; +------+---------+---------+ | name | type | comment | +------+---------+---------+ | x | tinyint | | +------+---------+---------+ [localhost:21000] > create table four_k as select 4096 as x; +-------------------+ | summary | +-------------------+ | Inserted 1 row(s) | +-------------------+ [localhost:21000] > desc four_k; +------+----------+---------+ | name | type | comment | +------+----------+---------+ | x | smallint | | +------+----------+---------+ [localhost:21000] > create table one_point_five as select 1.5 as x; +-------------------+ | summary | +-------------------+ | Inserted 1 row(s) | +-------------------+ [localhost:21000] > desc one_point_five; +------+--------------+---------+ | name | type | comment | +------+--------------+---------+ | x | decimal(2,1) | | +------+--------------+---------+ [localhost:21000] > create table one_point_three_three_three as select 1.333 as x; +-------------------+ | summary | +-------------------+ | Inserted 1 row(s) | +-------------------+ [localhost:21000] > desc one_point_three_three_three; +------+--------------+---------+ | name | type | comment | +------+--------------+---------+ | x | decimal(4,3) | | +------+--------------+---------+
Hope you find this article informative.
One comment