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 设置(因为接收器将只处理负载)。
我正在使用 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 设置(因为接收器将只处理负载)。