2013-12-17 2 views
1

의 kettleTransFromFile에 대한 파라미터를 펜타 호 (pentaho) 케틀에 전달 하였다. 펜타 오 CE biserver-ce-4.8.0 안정 버전을 사용 하였다. mongodb에서 데이터를 가져 오는 대시 보드를 만들고 싶습니다. 그래서 mongodb와 통신하고 mongodb에서 데이터를 가져 오는 데이터 통합에서 ktr 파일을 만들었습니다. 그 후 나는 내 CDE 대시 보드 데이터 소스에서 파일 .ktr 사용 아래펜타 호 (pentaho) CDE

<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>` 

및 $ {DB_NAME은} 내 매개 변수했다 KTR 파일의 일부이고 나는 URL을 통해이 매개 변수를 전달하려는 그러나 나는 통과 할 때 한 db_name을 URL로 사용하고 url 매개 변수를 읽었습니다. url 매개 변수가 있지만 ktr 파일이 매개 변수를 이해하지 못해서 이름이 $ {db_name} 인 mongo에 db가 생성되었으므로 매개 변수가 pentaho CDE의 ktr 파일로 전달 되었습니까?

답변

2

Pentaho Data Integration 4 Cookbook을 살펴본 후 제 질문에 대한 해결책을 찾았습니다. 나는 다음과 같은 방법으로 나의 문제를 해결했다. 더 심판 click here

을위한

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 

관련 문제