Mongodb 在pentaho CDE中通过釜传输文件将参数传递给pentaho釜

Mongodb 在pentaho CDE中通过釜传输文件将参数传递给pentaho釜,mongodb,pentaho,Mongodb,Pentaho,我使用的是pentaho CE biserver-CE-4.8.0稳定版本。我想创建从mongodb获取数据的仪表板,所以我在数据集成中创建了ktr文件,它与mongodb通信并从mongodb获取数据。之后,我在CDE仪表板数据源中使用了.ktr文件,下面是ktr文件的一部分 <hostname>localhost</hostname> <port>27017</port> <use_all_replica_members>N<

我使用的是pentaho CE biserver-CE-4.8.0稳定版本。我想创建从mongodb获取数据的仪表板,所以我在数据集成中创建了ktr文件,它与mongodb通信并从mongodb获取数据。之后,我在CDE仪表板数据源中使用了.ktr文件,下面是ktr文件的一部分

<hostname>localhost</hostname>
<port>27017</port>
<use_all_replica_members>N</use_all_replica_members>
<db_name>${db_name}</db_name>
<fields_name/>
<collection>test</collection>
<json_field_name>json</json_field_name>
<json_query/>
<auth_user/>
<auth_password>Encrypted </auth_password>
<auth_kerberos>N</auth_kerberos>
<connect_timeout/>
<socket_timeout/>
<read_preference>primary</read_preference>
<output_json>Y</output_json>
<query_is_pipeline>N</query_is_pipeline>
<execute_for_each_row>N</execute_for_each_row>`
localhost
27017
N
${db_name}
测试
json
加密的
N
主要的,重要的
Y
N
N`

${db_name}是我的参数,我想通过url传递这个参数,但当我被传递db_name作为url并读取该url参数时,我得到了url参数,但我的ktr文件不理解参数,因此它是在mongo中创建的,名为${db_name}因此,我在pentaho CDE中被传递参数到ktr文件?

在阅读pentaho Data Integration 4烹饪书之后,我找到了问题的解决方案。我用以下方法解决了我的问题

1> First create transformation using PDI and that transformation file add mongodb input.
2> Click on edit->settings and select parameters and add parameter name as db_name.
3> In mongodb input set database name as ${db_name} and set collection name save that transformation file.
4> Now login to pentaho bi server and create new CDE dashboard.
5> go to datasource and select kettle query and add kettle transformation file and add above created ktr file, in variable set arg as db_name and value blank.
6> In same datasource add parameters set name as db_name and value your data base name which you want to pass to ktr file in my case db name as demo.
7> Set above ktr to component panel and it work fine
更多参考