Hello guys, thanks for reading this and hope you can help me with this issue.
I am new at Cloudera, and i am following a little tutorial trying to create a external table from a log file in Hadoop.
I executed this statement in Hive:
CREATE EXTERNAL TABLE intermediate_access_logs ( ip STRING, date STRING, method STRING, url STRING, http_version STRING, code1 STRING, code2 STRING, dash STRING, user_agent STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' WITH SERDEPROPERTIES ( 'input.regex' = '([^ ]*) - - \\[([^\\]]*)\\] "([^\ ]*) ([^\ ]*) ([^\ ]*)" (\\d*) (\\d*) "([^"]*)" "([^"]*)"', 'output.format.string' = '%1$$s %2$$s %3$$s %4$$s %5$$s %6$$s %7$$s %8$$s %9$$s') LOCATION '/user/hive/warehouse/original_access_logs';
I was waiting too much time for the statement's result but finally i had this error message:
Error while processing statement: FAILED: Error in acquiring locks: Locks on the underlying objects cannot be acquired. retry after some time
I do not know what means 😞
Hope you understand.
Execute the below commands , to have a better insight.
SHOW LOCKS <TABLE_NAME>;
SHOW LOCKS <TABLE_NAME> EXTENDED;
SHOW LOCKS <TABLE_NAME> PARTITION (<PARTITION_DESC>);
SHOW LOCKS <TABLE_NAME> PARTITION (<PARTITION_DESC>) EXTENDED;
Does you hive supports concurrency ?
hive.support.concurrency = default (false)
Are you using HiveServer2 ?