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?
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.
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.
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.