2016-07-15 44 views
0

我正嘗試使用shell(非UI)使用彈簧雲數據流創建數據流管道。來源是ttwterstream和匯入文件。這是我做的配置文件匯:無法使用Spring雲數據流將流數據寫入宿文件

dataflow:>stream create demo --definition "twitterstream --credentials | file --dir=/opt/datastream --mode=APPEND --filename=tweets.txt"

我可以消耗從卡夫卡的話題,但不能寫在上面下沉的位置數據,文件甚至沒有創造。部署流時沒有錯誤日誌。最終我會從本地文件系統將其更改爲HDFS。有什麼遺漏嗎? PS:我試過默認文件接收器(沒有定義),它應該在/ tmp/xd/output中創建默認文件,但是也沒有發生。

回答

2

在最新的1.0.0.RELEASE(GA)發佈版中,以下流定義起作用。

dataflow:>stream create demo --definition "twitterstream | file --directory=/someFolder --mode=APPEND --name=demo.txt"

幾件事情指出:

1)twitterstream源不支持--credentials作爲OOTB屬性。見here

2)file接收器不支持--filename作爲OOTB屬性;您必須改用--name。見here

+0

謝謝Sabbby,這工作得很好。 – thedheeraz

+0

你可以請建議任何演示hdfs接收器?我沒有用'dataflow完成:> stream create demo --definition「twitterstream | hdfs --directory = hdfs:// ipaddress:9000/user/result --file-name = demo'。 – thedheeraz

+1

您需要使用'--fs-uri = hdfs:// ipaddress:9000'屬性來傳遞'NameNode'的URI,並且該目錄應該是文件夾,在你的情況下,'--directory =/user/result'。 [docs](http://docs.spring.io/spring-cloud-stream-app-starters/docs/1.0.0.RC1/reference/htmlsingle/#spring-cloud-stream-modules-hdfs-sink) 。 –