Env: Hive 0.14 , HDP2.2, Centos 6.6

I created a simple table (ref syntax below)
DROP TABLE IF EXISTS  twitter_user_info;

CREATE TABLE twitter_user_info
( userid BIGINT COMMENT 'User Id',
  username STRING COMMENT 'User Name',
  is_latest BOOLEAN COMMENT 'Currently active',
  last_modified_ts TIMESTAMP COMMENT 'Last modified timestamp'
)
COMMENT 'Twitter User Info Table'
CLUSTERED BY (userid,is_latest) SORTED BY (userid) INTO 30 BUCKETS
STORED AS ORC
TBLPROPERTIES('transactional'='true');


set the parameters in hive conf via ambari:

set hive.support.concurrency=true;
set hive.enforce.bucketing=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
set hive.compactor.initiator.on=true;
set hive.compactor.worker.threads=100;

I inserted few rows via the following query (not-relevant , yet pasting):
INSERT INTO TABLE twitter_user_info
SELECT created_by_id, created_by_name,'Y',MAX(created_at)
FROM twitter_data B
WHERE b.created_by_id IS NOT NULL
AND b.created_by_id NOT IN (
                     SELECT created_by_id FROM
                        (SELECT created_by_id,COUNT(DISTINCT
created_by_name)
                         FROM twitter_data
                         WHERE created_by_id IS NOT NULL
                         GROUP BY created_by_id
                         HAVING COUNT(DISTINCT created_by_name) >1) A
                    )
GROUP BY b.created_by_id,b.created_by_name;

For each operation below I am hitting the same error, and am clueless at
this point .

hive> UPDATE twitter_user_info
    > SET is_latest = false
    > WHERE userid = 298779403
    > AND last_modified_ts = '2015-01-13 14:25:14';
*FAILED: NoMatchingMethodException No matching method for class
org.apache.hadoop.hive.ql.udf.UDFToLong with
(struct<transactionid:bigint,bucketid:int,rowid:bigint>). Possible choices:
_FUNC_(bigint)  _FUNC_(boolean)  _FUNC_(decimal(38,18))  _FUNC_(double)
_FUNC_(float)  _FUNC_(int)  _FUNC_(smallint)  _FUNC_(string)
_FUNC_(timestamp)  _FUNC_(tinyint)  _FUNC_(void)  *
hive> DELETE FROM twitter_user_info WHERE userid=100;

*FAILED: NoMatchingMethodException No matching method for class
org.apache.hadoop.hive.ql.udf.UDFToLong with
(struct<transactionid:bigint,bucketid:int,rowid:bigint>). Possible choices:
_FUNC_(bigint)  _FUNC_(boolean)  _FUNC_(decimal(38,18))  _FUNC_(double)
_FUNC_(float)  _FUNC_(int)  _FUNC_(smallint)  _FUNC_(string)
_FUNC_(timestamp)  _FUNC_(tinyint)  _FUNC_(void)  *

Any pointers are welcome

-- 
Devopam Mittra
Life and Relations are not binary

Reply via email to