Mysql 在WSO2 BAM 2.0中使用数据源

Mysql 在WSO2 BAM 2.0中使用数据源,mysql,hive,wso2,wso2bam,Mysql,Hive,Wso2,Wso2bam,我想使用MySQL数据库在BAM 2.0.1中存储配置单元分析脚本的结果。看看提供的示例,我可以看到我必须使用许多属性(mapred.jdbc.*)来传递连接信息 有没有一种方法可以使用Carbon数据源而不是直接的jdbc连接?我主要关心的是在脚本中使用明文密码,这在关注安全的组织中是一个大拦截器 TIA是的,这是可能的。您可以使用wso2.carbon.datasource.name参数来传递carbon数据源的名称。由于carbon框架中尚未正确实现服务器到服务器的身份验证,因此需要使用密

我想使用MySQL数据库在BAM 2.0.1中存储配置单元分析脚本的结果。看看提供的示例,我可以看到我必须使用许多属性(mapred.jdbc.*)来传递连接信息

有没有一种方法可以使用Carbon数据源而不是直接的jdbc连接?我主要关心的是在脚本中使用明文密码,这在关注安全的组织中是一个大拦截器


TIA

是的,这是可能的。您可以使用wso2.carbon.datasource.name参数来传递carbon数据源的名称。

由于carbon框架中尚未正确实现服务器到服务器的身份验证,因此需要使用密码。但在最近的将来,我们希望通过对BAM的改进来消除这个问题。

使用chamibuddhika描述的属性完成了这个任务。下表说明了一个完整的示例:

CREATE EXTERNAL TABLE IF NOT EXISTS BatchSummaryByWeek(
execYear SMALLINT,
execWeek SMALLINT,
job_name STRING,
exit_code INT,
totalExecutions INT,
avgElapsed FLOAT,
maxElapsed INT,
minElapsed INT
) 
STORED BY 
'org.wso2.carbon.hadoop.hive.jdbc.storage.JDBCStorageHandler' 
TBLPROPERTIES ( 
'wso2.carbon.datasource.name' = 'MYSQL_BAM',
'hive.jdbc.update.on.duplicate' = 'true' , 
'hive.jdbc.primary.key.fields' = 'execYear,execWeek,job_name,exit_code' , 
'hive.jdbc.table.create.query' = 'CREATE TABLE BatchSummaryByWeek(execYear INTEGER, execWeek SMALLINT,job_name VARCHAR(250), exit_code INT,totalExecutions INT, avgElapsed FLOAT, maxElapsed INT,minElapsed INT)' );

使用这个属性就成功了。我的示例表如下所示:如果您能将此重复作为公认的答案,那就太好了