2015-05-14 2 views
1

Можно ли использовать именованные параметры из командной строки на вкладке «Запрос на Mongo Input Query»? Если да, то как? Ниже я пытаюсь достичь, но он не работает.Mongo Input in Pentaho Kettle

{endDate: {$gte : {$date : "${curr_date}"}}} 

и из командной строки, я даю вход, как показано ниже:

mongo_date=$(date '+%Y-%m-%dT%H:%M:%SZ') 


./pan.sh -file='ds_mongo.ktr' "-param:curr_date=\`$mongo_date\`" -Level=Basic > /.../tr_get_command_line_arguments.err.log  

ответ

0

Похоже, что MongoDB Input позволяет динамические запросы с помощью переменных. В этом случае я бы построил строку запроса в предыдущем преобразовании и сохранил ее в переменной Job для использования на этом этапе. Затем работа должна быть запущена с kitchen.sh (вместо панорамирования).

Это будет выглядеть примерно так:

Во-первых, работа. MongoQuery.kjb

Затем преобразование для построения строки запроса. Шаблон строки запроса находится в шаге Add Constants и выглядит так: {endDate: {$gte : {$date : "mongo_date"}}}. enter image description here

Идентификационный номер MongoDB Input. enter image description here

Примечание: У меня нет Монго и он никогда не использовал его, поэтому я не знаю, как должен выглядеть запрос. Тем не менее, используя этот метод, приведенные выше шаги вызывают следующий запрос для отправки в Mongo: {endDate: {$gte : {$date : "03/28/1967 00:00:00"}}}. Я предполагаю, что это правильно, но вам может потребоваться изменить синтаксис запроса, если это не так. Я использовал эту технику несколько раз для создания динамических запросов из параметров.

Смежные вопросы