使用DirectRunner测试数据流并获得了大量的verifyUnmodifiedThrowingCheckedExceptions

DEW*_*SUN 4 google-cloud-dataflow apache-beam

我正在使用我的Mac上的DirectRunner测试我的Dataflow管道并得到了很多像这样的"警告"消息,我可能知道如何摆脱它们,因为它太多了,我甚至看不到我的调试消息.

谢谢

Apr 05, 2018 2:14:48 PM org.apache.beam.sdk.util.MutationDetectors$CodedValueMutationDetector verifyUnmodifiedThrowingCheckedExceptions
WARNING: Coder of type class org.apache.beam.sdk.coders.SerializableCoder has a #structuralValue method which does not return true when the encoding of the elements is equal. 
Element com.apigee.analytics.platform.core.service.schema.EventRow@4a590d0b
Run Code Online (Sandbox Code Playgroud)

ant*_*ono 6

它可能有助于确保所有序列化值具有正确的equals()实现,因为SerializableCoder 期望它们:

对象的结构值是对象本身.本SerializableCoder应只用于与合适的对象Object#equals实施.

您可以Coder为您的POJO 实施自己的.SerializableCoder不保证根据文档确定性编码:

SerializableCoder 不保证确定性编码,因为Java序列化可能会为两个等效对象生成不同的二进制编码.

本文详细介绍了自定义编码器.