gpt4 book ai didi

hadoop - Spring Cloud Dataflow(兔子|处理器| hdfs)输出二进制

转载 作者:行者123 更新时间:2023-12-02 20:49:45 26 4
gpt4 key购买 nike

当前,我有一个用例,我需要从RabbitMQ消息总线获取消息,附加消息大小(以字节为单位),然后使用HDFS Sink输出消息。

首先,我创建了自己的处理器,该处理器将大小附加到消息中。我这样做的原因是因为编码必须是Google Protocol Buffer 的编码。

我的应用程序如下所示:

stream create --name rabbit-to-hdfs --definition "rabbit | delim-protobuf | hdfs "

当HDFS Sink输出消息时,我看到[B @ 12768762。我到过Google,并且看到了建议添加以下内容:
spring.cloud.stream.bindings.input.consumer.headerMode=raw 

但是,这似乎根本没有帮助我!也就是说,如果我使用以下命令将应用程序更改为文件:
[input | processor ] | file --binary=true

然后,一切正常。但是,我喜欢HDFS Sink提供的过渡功能。

有任何想法吗 ?

最佳答案

文件正在工作,因为它只是转储接收到的字节,但是查看HDFS接收器,似乎它需要使用java.io.Serializable对象作为输入。但是在您的情况下,您是从protobuf对象发送一个字节数组(我假设是这样)

关于hadoop - Spring Cloud Dataflow(兔子|处理器| hdfs)输出二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46368167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com