Преобразование сценариев Spring Cloud Dataflow не работает для языка Python - PullRequest
0 голосов
/ 25 октября 2018

Недавно я скачал версию 1.7.0 и попытался развернуть следующую

stream create amqp-to-hdfs --definition "mqtt-source-rabbit
--username=admin --password=pwd --url=/path/to/host--topics=dmj/ccs/sms/stream |
scriptable-transform --language=python --script='return \"payload\"' |
hdfs --fs-uri=hdfs://path/to/hdfs:9000 --directory=/path/to/recording --file-name=ingest"

Однако это не удалось запустить из-за следующей проблемы:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cloud.stream.app.scriptable.transform.processor.ScriptableTransformProcessorConfiguration': 
Initialization of bean failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transformer' defined in
org.springframework.cloud.stream.app.scriptable.transform.processor.ScriptableTransformProcessorConfiguration: 
Invocation of init method failed; nested exception is
java.lang.IllegalArgumentException: javax.script.ScriptEngineManager is
unable to create a script engine for language 'python'

Этостранно, потому что у меня установлен python, и если я изменю язык и значения скрипта на код на основе ruby, все работает.Однако для этой задачи мне нужно использовать Python.

Любые идеи

1 Ответ

0 голосов
/ 30 января 2019

Преобразователь сценариев потребует, чтобы вы объявили функцию, и вы вызовете эту функцию в конце определения функции

def myFunction(firstVar, lastVar):
    return firstVar +" some addition "+ lastVar;
myFunction("First ", " Second ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...