[![在此处输入图像说明] [1]] [1]我想使用springXD创建流。根据流的基本定义,我有:
Source : http
Transform script : I written one groovy script which I stored at
/xd/modules/processor/script/transform.groovy
Sink : cassandra
我想存储非结构化的json数据,我将其从http发布到cassandra表。 我在单节点模式下运行springXD,然后运行xd-shell。 对于流创建,我使用:
stream create --name test2 --definition "http --port=9000 | transform --
script=insert_transform.groovy |cassandra --contactPoints=127.0.0.1 --
keyspace=db1 --ingestQuery='insert into table1 (emp_id,emp_name,amount,time)
values (?,?,?,?)'" –deploy
我收到了消息: 创建并部署了新的流'test2'
之后,当我通过http发布数据时,会出现以下错误:
500 INTERNAL_SERVER_ERROR
在xd-singlenode上,出现以下错误日志:
Caused by: java.io.FileNotFoundException: class path resource [insert_transform.groovy] cannot be opened because it does not exist.
答案 0 :(得分:0)
哪个版本的Spring XD?我刚用1.3.0.RELEASE进行了测试,它工作得很好......
xd:>stream create foo --definition "time | transform --script=test.groovy | log" --deploy
$ cat xd/modules/processor/scripts/test.groovy
'Time = ' + payload
2016-01-11T09:45:19-0500 1.3.0.RELEASE INFO xdbus.foo.1-1 sink.foo - Time = 2016-01-11 09:45:19
2016-01-11T09:45:20-0500 1.3.0.RELEASE INFO xdbus.foo.1-1 sink.foo - Time = 2016-01-11 09:45:20
2016-01-11T09:45:21-0500 1.3.0.RELEASE INFO xdbus.foo.1-1 sink.foo - Time = 2016-01-11 09:45:21