contentType 获取前缀到从 HDFS 接收器写入的数据

contentType getting prefixed to data written from HDFS sink

我正在使用 HDFS 接收器并写入 HDFS。但是我写入 HDFS 的有效载荷以 ?contentType "text/plain" 为前缀,尽管这不在有效载荷中。 请告诉我为什么要添加前缀以及如何删除它。

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 输入的 header 模式是 raw 那么您也应该将 myprocessor 的输出设为 raw -即

 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 上的 header 设置(因为接收器将只处理负载)。