在WSO2 BAM 2.0中使用DataSource

时间:2012-11-26 13:42:44

标签: mysql hive wso2 wso2bam

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

有没有办法使用Carbon数据源而不是直接的jdbc连接?我主要担心的是在脚本中使用明文密码,这是安全相关组织中的一个重要障碍。

TIA

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

使用属性作为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)' );