You can use rowid() function to generate an unique rowid in Hivemall v0.2 or later.
select rowid() as rowid, -- returns ${task_id}-${sequence_number} as string * from xxx;
Also, rownum() is supported since Hivemall v0.5-rc.1 or later.
select rownum() as rowid, -- returns sprintf(`%d%04d`,sequence,taskId) as long * from xxx;
CREATE TABLE xxx AS SELECT regexp_replace(reflect('java.util.UUID','randomUUID'), '-', '') as rowid, * FROM ..;
Another option to generate rowid is to use row_number(). However, the query execution would become too slow for large dataset because the rowid generation is executed on a single reducer.
CREATE TABLE xxx AS select row_number() over () as rowid, * from a9atest;