Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Creates a new table. 

Syntax

CREATE TABLE [schema_name.]table_name 
(
column_name <data_type> [PRIMARY KEY] [,...]
)
[PARTITION BY RANGE(column_name) EVERY (<part_interval>)]


<Data_type> ::=
{
INT | BIGINT | FLOAT | DOUBLE | STRING | TIMESTAMP
}

<part_interval> ::=
{
n      | 
VALUE  | 
INTERVAL 'n' {month | day | hour}
}

Description

Table and column names must be a valid identifier. For more details on Jethro data types attributes, see Data Types. A table can have one primary key column. Primary keys must contain unique values and cannot contain NULL values.

Parameter Details

ParameterMandatory?Details
 PARTITION BY

OPTIONAL

The clause defines range partitioning.

Unlike Hive and Impala, in Jethro the partition column name must be one of the columns previously defined in the table column list.

Partitioning interval specification depends on the data type of the partitioning column:

  • For numeric partition key - use EVERY (#n). 
    • For example: PARTITION BY RANGE(store_sk) EVERY (10)
  • For string partition key - use EVERY (VALUE) without replacing the 'value' with anything. The result would be that each distinct string will have its own partition. 
    • For example: PARTITION BY RANGE(store_name) EVERY (VALUE)
  • For timestamp partition key - use EVERY (INTERVAL 'n'...) 
    • For example: PARTITION BY RANGE(sale_date) EVERY (INTERVAL '3' MONTH)

*The valid range for 'n' is: 0<n<(2^32-1), integer values only.

See Also

CREATE EXTERNAL TABLE

DROP TABLE

ALTER TABLE

  • No labels