Per my testing, this is actually working currently. From code-reading, I was initially convinced there was a bug, but it does seem to properly initialize hbase delegation tokens for read and write jobs, from hive and hcatalog, but it currently works for me.
I ran the following:
To create the table:
CREATE TABLE sushhbdata(rowkey STRING, pageviews STRING, bytes STRING);
LOAD DATA LOCAL INPATH 'sushhbdata' INTO TABLE sushhbdata;
CREATE TABLE IF NOT EXISTS sushpagecounts_hbase (rowkey STRING, pageviews STRING, bytes STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,f:c1,f:c2')
TBLPROPERTIES ('hbase.table.name' = 'sushpagecounts');
To insert data into the table:
FROM sushhbdata INSERT INTO TABLE sushpagecounts_hbase SELECT * where rowkey like 'EN%';
For the actual data, I just randomly generated strings of varying length in all caps, there were quite a few that began with "EN".
(Note that I set the execution engine to mr because there is another unrelated tez issue that blocks it currently if you don't set it, and I think Gunther or Sergei are trying to fix that. And I don't need aux jars either for our current hive commandline.)
I have a patch I'd suggest up for this anyway to make life a little easier for those who read this section of code in the future.
Could you please verify?