Я пытаюсь создать паркетную таблицу с разделом из существующей таблицы Kudu в Impala без необходимости повторного указания столбцов с типами данных.
CREATE TABLE IF NOT EXISTS db_name.parquet_table
PARTITIONED BY (`year` SMALLINT, `month` TINYINT, `day` TINYINT)
STORED AS PARQUET
As SELECT * FROM db_name.kudu_table limit 0
Я получаю сообщение об ошибке, говорящее
ParseException: Syntax error in line 4:undefined: As SELECT * FROM db_name.parquet_table limit 0 ^ Encountered: AS Expected CAUSED BY: Exception: Syntax error
Но когда я пытаюсь создать паркетную таблицу без разделов, она работает, используя:
CREATE TABLE IF NOT EXISTS db_name.parquet_table STORED AS PARQUET
AS SELECT * FROM db_name.kudu_table LIMIT 0
Но когда я пытаюсь добавить раздел, используя:
ALTER TABLE db_name.parquet_table ADD PARTITION(`year`=0,`month`=0,`day`=0)
Я получаю следующее сообщение об ошибке:
AnalysisException: Table is not partitioned: db_name.parquet_table