contentType 以从 HDFS 接收器写入的数据为前缀



我正在使用HDFS接收器并写入HDFS。但是我写入 HDFS 的有效负载以 ?u000bcontent键入"文本/纯文本",尽管这不在有效负载中。 请让我知道为什么它被前缀以及如何删除它。

stream create --definition ":streaming --spring.cloud.stream.bindings.output.producer.headerMode=raw> myprocessor --spring.cloud.stream.bindings.output.content-type=text/plain --spring.cloud.stream.bindings.input.consumer.headerMode=raw|hdfs --spring.hadoop.fsUri=hdfs://127.0.0.1:50071 --hdfs.directory=/ws/sparkoutput --hdfs.file-name=sparkstream --hdfs.enable-sync=true --hdfs.flush-timeout=10000 --spring.cloud.stream.bindings.input.consumer.headerMode=raw --spring.cloud.stream.bindings.input.content-type=text/plain" --name sparkstream

如果您假设hdfs输入的标头模式是raw那么您也应该进行myprocessorraw的输出 - 即

myprocessor --spring.cloud.stream.bindings.output.content-type=text/plain --spring.cloud.stream.bindings.input.consumer.headerMode=raw --spring.cloud.stream.bindings.output.producer.headerMode=raw

或者,您应该删除hdfs上的标头设置(因为接收器将只处理有效负载)。

最新更新