create table t1 as select * from t2 where 1=2;
我使用上面的代码从表t2创建表t1。在该表中,t2被划分为3个vaules,即月,日,年。一旦创建了表t1,就不会对上面提到的值进行分区。
我尝试过以下代码,但它给了我错误。救命啊!
create table t1 as
select * from t2 PARTITIONED BY( YEAR STRING, MONTH STRING, DAY STRING);
[42000]:编译语句时出错:FAILED:ParseException 1:0行无法识别' PARTITIONED'附近的输入。 ' BY' '('在表格来源
答案 0 :(得分:1)
只需要更正语法。 partitioned by ...
追踪create table
。
create table t1 PARTITIONED BY(YEAR STRING,MONTH STRING,DAY STRING) as
select /*add other columns here*/,year,month,day
from t2;
建议明确调出列而不是*
,并在select
末尾指定分区列。