I'm trying to create Kudu table from impala. My Kudu instance is integrated with HMS (at least kudu hms check and precheck does not show any issues), but when I'm trying to create new table I have error as below:
CREATE TABLE my_first_table (id BIGINT, name STRING, PRIMARY KEY(id)) PARTITION BY HASH PARTITIONS 16 STORED AS KUDU TBLPROPERTIES ('kudu.num_tablet_replicas' = '1');
Query: CREATE TABLE my_first_table (id BIGINT, name STRING, PRIMARY KEY(id)) PARTITION BY HASH PARTITIONS 16 STORED AS KUDU TBLPROPERTIES ('kudu.num_tablet_replicas' = '1')
ERROR: ImpalaRuntimeException: Error creating Kudu table 'impala::default.my_first_table'
CAUSED BY: NonRecoverableException: an error occurred while creating table impala::default.my_first_table in the HMS: when the Hive Metastore integration is enabled, Kudu table names must be a period ('.') separated database and table name identifier pair, each containing only ASCII alphanumeric characters, '_', and '/': impala::default.my_first_table
It looks like table name should meet all name restriction (contains only '_') but kudu claims it does not. I tried to put also table in format <db_name>.<table_name> but no progress.
I use CDH6.2.
Impala Shell v3.2.0-cdh6.2.0 (edc1994) built on Thu Mar 14 00:14:35 PDT 2019
build type RELEASE
built by jenkins at 14 Mar 2019 00:03:44 PST on cldrn-ub1604-ec2-c5d-18xlarge-spotblk-0c10.vpc.cloudera.com
Kudu's HMS integration is a CDH 6.3 feature. If you would like to use it end-to-end, you'll have to use it with CDH 6.3.
That said, even without the Kudu's native HMS integration, in all versions of CDH, when using Impala "internal" or "managed" Kudu tables (see here for more details), Impala will create HMS metadata on behalf of Kudu.