04-17-2018 10:37 PM - edited 04-17-2018 10:39 PM
I'm using Impala on CDH 5.15.0 in our cluster
(version of impala, 2.12)
I try to kudu table rename but occured exception with this message.
ERROR: AnalysisException: Not allowed to set 'kudu.table_name' manually for managed Kudu tables.
I read achive on jira : link
then how can i rename kudu table using impala?
07-19-2018 09:39 PM - edited 07-19-2018 09:40 PM
Unfortunately neither of these approaches seem to work. (CDH5.15 Kudu 1.7)
ALTER TABLE your_table RENAME TO new_table_name;
-> Works but it renames the table in the Impala/Hive metastore but *doesn't* rename the underlying Kudu table.
ALTER TABLE table_name SET TBLPROPERTIES('kudu.table_name'='newtablename');
-> Doesn't work at all (as per ERROR: AnalysisException: Not allowed to set 'kudu.table_name' manually for managed Kudu tables.)
Use case - large (non-additive) schema change for a table
Step 2 breaks because the underlying Kudu table for the renamed talbe in step1 still retains the name of the original table.
07-20-2018 02:52 AM
Try this workaround:
1- Create new table with the original table's data.
2- Drop all data from old table (using delete).
3- Insert data from new table into old table.
4- Drop new table.
09-14-2018 02:58 AM - edited 09-14-2018 02:59 AM
Execute below queries in Impala:
ALTER TABLE old_table RENAME TO new_table;
ALTER TABLE new_table SET TBLPROPERTIES('kudu.table_name'='new_table');
Always use new_table for second alter query.
09-21-2018 06:35 PM
@Ankit_Mishra's answer is the correct way to do the procedure you want to do, Impala doesn't allow for separately managing the Kudu and Impala tables if you create the Kudu table through Impala.