WSO2 BAM Hive脚本错误:数据库可能已在使用中

时间:2014-06-10 16:40:32

标签: hive wso2 h2 wso2bam

我正在尝试从WSO2 BAM执行一个简单的Hive脚本,我收到以下错误:

  

TID:[0] [BAM] [2014-06-10 17:55:24,752] ERROR {org.wso2.carbon.hadoop.hive.jdbc.storage.db.DBManager} - 无法获得连接{org .wso2.carbon.hadoop.hive.jdbc.storage.db.DBManager}   org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:“被另一个进程锁定”。可能的解决方案:关闭所有其他连接;使用服务器模式; SQL语句:   null / 1468667eba66dbdf45540920bcb8b07d6d24451f741 [90020-140]   '

Hive脚本:

  

DROP TABLE IF EXISTS ProjectServicesTable;   DROP TABLE IF EXISTS ProjectServicesPerDateTable;

     

创建外部表,如果不是EXProTS ProjectServicesTable       (rowID STRING,metaHost STRING,exeTimestamp BIGINT,nickName STRING,        描述STRING,版本STRING)STORED BY       'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'       与SERDEPROPERTIES(       “wso2.carbon.datasource.name”=“WSO2BAM_CASSANDRA_DATASOURCE”,       “cassandra.ks.name”=“EVENT_KS”,       “cassandra.cf.name”=“stream1”,       “cassandra.columns.mapping”=       “:key,meta_host,Timestamp,Nick_Name,Description,Version”);

     

CREATE EXTERNAL TABLE IF NOT NOT EXISTS ProjectServicesPerDateTable(exeDate STRING,totalServices INT)STORED BY       'org.wso2.carbon.hadoop.hive.jdbc.storage.JDBCStorageHandler'       TBLPROPERTIES(       'wso2.carbon.datasource.name'= 'WSO2_CARBON_DB',       'hive.jdbc.update.on.duplicate'='true',       'hive.jdbc.primary.key.fields'='exeDate',       'hive.jdbc.table.create.query'=       'CREATE TABLE PROJECT_SERVICES_DATE_SUMMARY(exeDate VARCHAR(30)NOT NULL PRIMARY KEY,totalServices INT)');

     

插入覆盖表ProjectServicesPerDateTable       select substring(from_unixtime(cast(exeTimestamp / 1000 as BIGINT),'yyyy-MM-dd HH:mm:ss'),0,10)as exeDate,count(rowID)as ProjectServices from ProjectServicesTable           group by substring(from_unixtime(cast(exeTimestamp / 1000 as BIGINT),'yyyy-MM-dd HH:mm:ss'),0,10);

表PROJECT_SERVICES_DATE_SUMMARY已成功创建。

有趣的(对我而言)是,相同的脚本通常在另一台计算机上运行,​​其中BAM以相同的方式配置。唯一的区别是操作系统 - Windows Server 2012 R2 Standard(脚本失败)和Windows 7 Professional(脚本运行良好)。

0 个答案:

没有答案