Files
impala/testdata/workloads/functional-query/queries/QueryTest/show-create-table.test
Zoltan Borok-Nagy 08367e91f0 IMPALA-10452: CREATE Iceberg tables with old PARTITIONED BY syntax
For convenience this patch adds support with the old-style
CREATE TABLE ... PARTITIONED BY ...; syntax for Iceberg tables.

So users should be able to write the following:

CREATE TABLE ice_t (i int)
PARTITIONED BY (p int)
STORED AS ICEBERG;

Which should be equivalent to this:

CREATE TABLE ice_t (i int, p int)
PARTITION BY SPEC (p IDENTITY)
STORED AS ICEBERG;

Please note that the old-style CREATE TABLE statement creates
IDENTITY-partitioned tables. For other partition transforms the
users must use the new, more generic syntax.

Hive also supports the old PARTITIONED BY syntax with the same
behavior.

Testing:
 * added e2e tests

Change-Id: I789876c161bc0987820955aa9ae01414e0dcb45d
Reviewed-on: http://gerrit.cloudera.org:8080/16979
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2021-01-26 22:12:25 +00:00

811 lines
21 KiB
Plaintext

====
---- CREATE_TABLE
# Simple table
CREATE TABLE test1 (
id INT
)
STORED AS TEXTFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test1 (
id INT
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test1 (
id INT
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# simple table with all types
CREATE TABLE test2 (
year INT,
month INT,
id INT COMMENT 'Add a comment',
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP
)
STORED AS TEXTFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test2 (
year INT,
month INT,
id INT COMMENT 'Add a comment',
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test2 (
year INT,
month INT,
id INT COMMENT 'Add a comment',
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# all types and partitioned
CREATE TABLE test3 (
year INT,
month INT,
id INT COMMENT 'Add a comment',
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP
)
PARTITIONED BY (
x INT,
y INT,
a BOOLEAN
)
COMMENT 'This is a test'
STORED AS TEXTFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test3 (
year INT,
month INT,
id INT COMMENT 'Add a comment',
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP
)
PARTITIONED BY (
x INT,
y INT,
a BOOLEAN
)
COMMENT 'This is a test'
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test3 (
year INT,
month INT,
id INT COMMENT 'Add a comment',
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP
)
PARTITIONED BY (
x INT,
y INT,
a BOOLEAN
)
COMMENT 'This is a test'
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# With a table comment
CREATE TABLE test4 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
COMMENT 'This is a test'
STORED AS TEXTFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test4 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
COMMENT 'This is a test'
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test4 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
COMMENT 'This is a test'
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# With the row format specified
CREATE TABLE test5 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\n'
STORED AS TEXTFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test5 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\n'
WITH SERDEPROPERTIES ('line.delim'='\n', 'field.delim'=',',
'serialization.format'=',', 'escape.delim'='\\')
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test5 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\n'
WITH SERDEPROPERTIES ('line.delim'='\n', 'field.delim'=',',
'serialization.format'=',', 'escape.delim'='\\')
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# testing with parquet specified
CREATE TABLE test6 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS PARQUET
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test6 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS PARQUET
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test6 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS PARQUET
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# with extra table properties and sequencefile
CREATE TABLE test7 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS SEQUENCEFILE
TBLPROPERTIES ('key3'='val3', 'key2'='val2', 'key1'='val1')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test7 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS SEQUENCEFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('key3'='val3', 'key2'='val2', 'key1'='val1')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test7 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS SEQUENCEFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('key3'='val3', 'key2'='val2', 'key1'='val1', 'external.table.purge'='TRUE')
====
---- CREATE_TABLE
# testing with rcfile specified
CREATE TABLE test8 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS RCFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test8 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS RCFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test8 (
year INT,
month INT,
id INT COMMENT 'Add a comment'
)
STORED AS RCFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
# Test create table as select
CREATE TABLE test_as_select (
id INT,
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP,
year INT,
month INT
)
STORED AS TEXTFILE
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test_as_select (
id INT,
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP,
year INT,
month INT
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test_as_select (
id INT,
bool_col BOOLEAN,
tinyint_col TINYINT,
smallint_col SMALLINT,
int_col INT,
bigint_col BIGINT,
float_col FLOAT,
double_col DOUBLE,
date_string_col STRING,
string_col STRING,
timestamp_col TIMESTAMP,
year INT,
month INT
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- CREATE_TABLE
create table i_1687_p partitioned by (int_col) as
select bigint_col, int_col from functional.alltypessmall;
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.i_1687_p (
bigint_col BIGINT
)
PARTITIONED BY (
int_col INT
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.i_1687_p (
bigint_col BIGINT
)
PARTITIONED BY (
int_col INT
)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
====
---- QUERY
SHOW CREATE TABLE functional.allcomplextypes
---- RESULTS-HIVE
CREATE EXTERNAL TABLE functional.allcomplextypes (
id INT,
int_array_col ARRAY<INT>,
array_array_col ARRAY<ARRAY<INT>>,
map_array_col ARRAY<MAP<STRING,INT>>,
struct_array_col ARRAY<STRUCT<f1:BIGINT,f2:STRING>>,
int_map_col MAP<STRING,INT>,
array_map_col MAP<STRING,ARRAY<INT>>,
map_map_col MAP<STRING,MAP<STRING,INT>>,
struct_map_col MAP<STRING,STRUCT<f1:BIGINT,f2:STRING>>,
int_struct_col STRUCT<f1:INT,f2:INT>,
complex_struct_col STRUCT<f1:INT,f2:ARRAY<INT>,f3:MAP<STRING,INT>>,
nested_struct_col STRUCT<f1:INT,f2:STRUCT<f11:BIGINT,f12:STRUCT<f21:BIGINT>>>,
complex_nested_struct_col STRUCT<f1:INT,f2:ARRAY<STRUCT<f11:BIGINT,f12:MAP<STRING,STRUCT<f21:BIGINT>>>>>
)
PARTITIONED BY (
year INT,
month INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\'
WITH SERDEPROPERTIES ('field.delim'=',', 'serialization.format'=',', 'escape.delim'='\\')
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('transient_lastDdlTime'='1405990341')
====
---- QUERY
SHOW CREATE VIEW functional.alltypes_view
---- RESULTS-HIVE
CREATE VIEW functional.alltypes_view AS
SELECT * FROM functional.alltypes
====
---- QUERY
# SHOW CREATE TABLE should also work for views.
SHOW CREATE TABLE functional.alltypes_view
---- RESULTS-HIVE
CREATE VIEW functional.alltypes_view AS
SELECT * FROM functional.alltypes
====
---- CREATE_VIEW
# View with column aliases
CREATE VIEW column_aliases_view (foo, bar, baz) AS
SELECT tinyint_col, id, bigint_col
FROM functional.alltypes;
---- RESULTS-HIVE
# A view with column aliases is expanded into a SELECT with an inline view.
CREATE VIEW show_create_table_test_db.column_aliases_view AS
SELECT column_aliases_view.tinyint_col foo, column_aliases_view.id bar, column_aliases_view.bigint_col baz FROM (SELECT tinyint_col, id, bigint_col FROM functional.alltypes) column_aliases_view
====
---- QUERY
# Test views referencing views.
SHOW CREATE VIEW functional.view_view;
---- RESULTS-HIVE
CREATE VIEW functional.view_view AS
SELECT * FROM functional.alltypes_view
====
---- QUERY
# Test complex views with multiple tables and Hive-style column aliases.
SHOW CREATE VIEW functional.complex_view
---- RESULTS-HIVE
CREATE VIEW functional.complex_view AS
SELECT complex_view.`_c0` abc, complex_view.string_col xyz FROM (SELECT count(a.bigint_col), b.string_col FROM functional.alltypesagg a INNER JOIN functional.alltypestiny b ON a.id = b.id WHERE a.bigint_col < 50 GROUP BY b.string_col HAVING count(a.bigint_col) > 1 ORDER BY b.string_col ASC LIMIT 100) complex_view
====
---- CREATE_VIEW
# Test that identifiers are correctly quoted.
CREATE VIEW _quote_view (_foo, bar) AS
SELECT tinyint_col, id _id
FROM functional.alltypes;
---- RESULTS-HIVE
CREATE VIEW show_create_table_test_db.`_quote_view` AS
SELECT `_quote_view`.tinyint_col `_foo`, `_quote_view`.`_id` bar FROM (SELECT tinyint_col, id `_id` FROM functional.alltypes) `_quote_view`
====
---- QUERY
# SHOW CREATE VIEW should also work on tables.
SHOW CREATE VIEW functional_parquet.tinytable;
---- RESULTS-HIVE
CREATE EXTERNAL TABLE functional_parquet.tinytable (
a STRING,
b STRING
)
STORED AS PARQUET
LOCATION '$$location_uri$$'
TBLPROPERTIES ()
====
---- CREATE_VIEW
# Create view that contains a subquery (IMPALA-4579)
CREATE VIEW view_with_subquery AS SELECT * FROM functional.alltypestiny
WHERE id IN (SELECT id FROM functional.alltypesagg);
---- RESULTS-HIVE
CREATE VIEW show_create_table_test_db.view_with_subquery
AS SELECT * FROM functional.alltypestiny
WHERE id IN (SELECT id FROM functional.alltypesagg)
====
---- CREATE_TABLE
# Simple table with sort columns.
CREATE TABLE test1 (id INT)
SORT BY (id)
STORED AS TEXTFILE
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test1 (id INT)
SORT BY LEXICAL (id)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test1 (id INT)
SORT BY LEXICAL (id)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
====
---- CREATE_TABLE
# Simple partitioned table with sort columns.
CREATE TABLE test1 (id INT)
PARTITIONED BY (x INT, y INT)
SORT BY (id)
STORED AS TEXTFILE
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.test1 (id INT)
PARTITIONED BY (x INT, y INT)
SORT BY LEXICAL (id)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.test1 (id INT)
PARTITIONED BY (x INT, y INT)
SORT BY LEXICAL (id)
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
====
---- QUERY
SHOW CREATE TABLE functional_hbase.alltypes
---- RESULTS-HIVE
CREATE EXTERNAL TABLE functional_hbase.alltypes (
id INT COMMENT 'Add a comment',
bigint_col BIGINT,
bool_col BOOLEAN,
date_string_col STRING,
double_col DOUBLE,
float_col FLOAT,
int_col INT,
month INT,
smallint_col SMALLINT,
string_col STRING,
timestamp_col TIMESTAMP,
tinyint_col TINYINT,
year INT
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping'=':key,d:bool_col,d:tinyint_col,d:smallint_col,d:int_col,d:bigint_col,d:float_col,d:double_col,d:date_string_col,d:string_col,d:timestamp_col,d:year,d:month',
'serialization.format'='1')
TBLPROPERTIES ('hbase.table.name'='functional_hbase.alltypes',
'storage_handler'='org.apache.hadoop.hive.hbase.HBaseStorageHandler')
====
---- QUERY
SHOW CREATE TABLE functional.parent_table
---- RESULTS-HIVE
CREATE EXTERNAL TABLE functional.parent_table (
id INT,
year STRING,
PRIMARY KEY (id, year)
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
WITH SERDEPROPERTIES ('field.delim'=',', 'serialization.format'=',')
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
====
---- QUERY
SHOW CREATE TABLE functional.child_table
---- RESULTS-HIVE
CREATE EXTERNAL TABLE functional.child_table (
seq INT,
id INT,
year STRING,
a INT,
PRIMARY KEY (seq),
FOREIGN KEY(id, year) REFERENCES functional.parent_table(id, year),
FOREIGN KEY(a) REFERENCES functional.parent_table_2(a)
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
WITH SERDEPROPERTIES ('field.delim'=',', 'serialization.format'=',')
STORED AS TEXTFILE
LOCATION '$$location_uri$$'
====
---- CREATE_TABLE
CREATE TABLE iceberg_test1 (
level STRING
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.tables')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.iceberg_test1 (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.tables')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_test1 (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.tables')
====
---- CREATE_TABLE
CREATE TABLE iceberg_test2 (
level STRING
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.iceberg_test2 (
level STRING NULL
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_test2 (
level STRING NULL
)
STORED AS ICEBERG
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.catalog', 'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test')
====
---- CREATE_TABLE
CREATE TABLE iceberg_test3 (
level STRING
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test',
'iceberg.table_identifier'='org.my_db.my_table')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.iceberg_test3 (
level STRING NULL
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test',
'iceberg.table_identifier'='org.my_db.my_table')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_test3 (
level STRING NULL
)
STORED AS ICEBERG
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.catalog', 'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test',
'iceberg.table_identifier'='org.my_db.my_table')
====
---- CREATE_TABLE
CREATE TABLE iceberg_test1_partitioned (
level STRING,
p1 DATE,
p2 STRING,
p3 TIMESTAMP,
p4 INT
)
PARTITION BY SPEC (
p1 YEAR,
p2 IDENTITY,
p2 BUCKET 500,
p2 TRUNCATE 15,
p3 HOUR,
p4 BUCKET 10,
p4 TRUNCATE 5
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.iceberg_test1_partitioned (
level STRING NULL,
p1 DATE NULL,
p2 STRING NULL,
p3 TIMESTAMP NULL,
p4 INT NULL
)
PARTITION BY SPEC
(
p1 YEAR,
p2 IDENTITY,
p2 BUCKET 500,
p2 TRUNCATE 15,
p3 HOUR,
p4 BUCKET 10,
p4 TRUNCATE 5
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_test1_partitioned (
level STRING NULL,
p1 DATE NULL,
p2 STRING NULL,
p3 TIMESTAMP NULL,
p4 INT NULL
)
PARTITION BY SPEC
(
p1 YEAR,
p2 IDENTITY,
p2 BUCKET 500,
p2 TRUNCATE 15,
p3 HOUR,
p4 BUCKET 10,
p4 TRUNCATE 5,
)
STORED AS ICEBERG
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.catalog'='hadoop.catalog',
'iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.catalog',
'iceberg.catalog_location'='/test-warehouse/hadoop_catalog_test')
====
---- CREATE_TABLE
CREATE TABLE iceberg_test_orc (
level STRING
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='orc', 'iceberg.catalog'='hadoop.tables')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.iceberg_test_orc (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES('iceberg.file_format'='orc', 'iceberg.catalog'='hadoop.tables')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_test_orc (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.file_format'='orc',
'iceberg.catalog'='hadoop.tables')
====
---- CREATE_TABLE
# Default Iceberg table
CREATE TABLE iceberg_default_tbl (
level STRING
)
STORED AS ICEBERG;
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_default_tbl (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('iceberg.file_format'='parquet', 'iceberg.catalog'='hive.catalog',
'external.table.purge'='TRUE', 'table_type'='ICEBERG')
====
---- CREATE_TABLE
# Default Iceberg table with ORC format
CREATE TABLE iceberg_default_tbl_orc (
level STRING
)
STORED AS ICEBERG
TBLPROPERTIES ('iceberg.file_format'='orc');
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_default_tbl_orc (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('iceberg.file_format'='orc', 'iceberg.catalog'='hive.catalog',
'external.table.purge'='TRUE', 'table_type'='ICEBERG')
====
---- CREATE_TABLE
# Iceberg table in HiveCatalog
CREATE TABLE iceberg_hive_cat_explicit (
level STRING
)
STORED AS ICEBERG
TBLPROPERTIES ('iceberg.catalog'='hive.catalog');
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_hive_cat_explicit (
level STRING NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('iceberg.file_format'='parquet', 'iceberg.catalog'='hive.catalog',
'external.table.purge'='TRUE', 'table_type'='ICEBERG')
====
---- CREATE_TABLE
CREATE TABLE iceberg_nullable_test (
level STRING NOT NULL,
event_time TIMESTAMP NULL,
register_time DATE
)
STORED AS ICEBERG
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.tables')
---- RESULTS-HIVE
CREATE TABLE show_create_table_test_db.iceberg_nullable_test (
level STRING NOT NULL,
event_time TIMESTAMP NULL,
register_time DATE NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES('iceberg.file_format'='parquet', 'iceberg.catalog'='hadoop.tables')
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_nullable_test (
level STRING NOT NULL,
event_time TIMESTAMP NULL,
register_time DATE NULL
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.file_format'='parquet',
'iceberg.catalog'='hadoop.tables')
====
---- CREATE_TABLE
CREATE TABLE iceberg_old_style_partitions (i INT)
PARTITIONED BY (p STRING, d DATE)
STORED AS ICEBERG
---- RESULTS-HIVE-3
CREATE EXTERNAL TABLE show_create_table_test_db.iceberg_old_style_partitions (
i INT NULL,
p STRING NULL,
d DATE NULL
)
PARTITION BY SPEC (
p IDENTITY,
d IDENTITY
)
STORED AS ICEBERG
LOCATION '$$location_uri$$'
TBLPROPERTIES ('external.table.purge'='TRUE', 'iceberg.file_format'='parquet',
'iceberg.catalog'='hive.catalog', 'table_type'='ICEBERG')
====