Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Yang, Tong <yangtong2@huawei.com> Co-committed-by: Yang, Tong <yangtong2@huawei.com>
8.8 KiB
CREATE TABLE AS SELECT
Function
This command is used to create a Hudi table by specifying the list of fields along with the table options.
Syntax
CREATE TABLE [ IF NOT EXISTS] [database_name.]table_name
USING hudi
[ COMMENT table_comment ]
[ LOCATION location_path ]
[ OPTIONS (options_list) ]
[ AS query_statement ]
Parameter Description
Parameter |
Description |
---|---|
database_name |
Database name that contains letters, digits, and underscores (_). |
table_name |
Database table name that contains letters, digits, and underscores (_). |
using |
Uses hudi to define and create a Hudi table. |
table_comment |
Description of the table. |
location_path |
HDFS path. If this parameter is set, the Hudi table will be created as an external table. |
options_list |
List of Hudi table options. |
query_statement |
SELECT statement |
Examples
- Create a partitioned table.
create table h2 using hudi options (type = 'cow', primaryKey = 'id') partitioned by (dt) as select 1 as id, 'a1' as name, 10 as price, 1000 as dt;
- Create a non-partitioned table.
create table h3 using hudi as select 1 as id, 'a1' as name, 10 as price; Load data from a parquet table to the Hudi table. # Create a parquet table. create table parquet_mngd using parquet options(path='hdfs:///tmp/parquet_dataset/*.parquet'); # Create a Hudi table by Creating a Table from Query Results (CTAS). create table hudi_tbl using hudi location 'hdfs:///tmp/hudi/hudi_tbl/' options ( type = 'cow', primaryKey = 'id', preCombineField = 'ts' ) partitioned by (datestr) as select * from parquet_mngd;
Precautions
For better data loading performance, CTAS uses bulk insert to write data.
System Response
The table is successfully created, and the success message is logged in the system.