Java 如何避免将BigQuery数据读取到自定义数据类型时出现警告消息:Can';t验证BoundedSource类型的序列化元素
我在这里定义了一个引用文档的自定义数据类型。 并使用下面的代码从BigQuery读取数据。 警告信息: 无法验证BoundedSource类型的序列化元素是否具有定义良好的equals方法。这可能会在某些PipelineRunner上产生不正确的结果 此消息出现在触发步骤TriggerIdCreation/Read(CreateSource)/Read(CreateSource)/Read(BoundedToundedSourceAdapter)/StripIds.out0时 我尝试向自定义数据类型类添加equals()方法,如下所示Java 如何避免将BigQuery数据读取到自定义数据类型时出现警告消息:Can';t验证BoundedSource类型的序列化元素,java,google-cloud-dataflow,apache-beam,Java,Google Cloud Dataflow,Apache Beam,我在这里定义了一个引用文档的自定义数据类型。 并使用下面的代码从BigQuery读取数据。 警告信息: 无法验证BoundedSource类型的序列化元素是否具有定义良好的equals方法。这可能会在某些PipelineRunner上产生不正确的结果 此消息出现在触发步骤TriggerIdCreation/Read(CreateSource)/Read(CreateSource)/Read(BoundedToundedSourceAdapter)/StripIds.out0时 我尝试向自定义
@Override
public boolean equals(Object object) {
if (this == object) return true;
if (object == null || getClass() != object.getClass()) return false;
if (!super.equals(object)) return false;
WeatherData that = (ErrorTelop) object;
return Objects.equals(xxx, that.xxx) &&
Objects.equals(yyy, that.yyy);
}
这没有帮助
有人有办法避免这个警告吗?你收到的警告似乎不是因为你在做什么。我认为这个警告来自ApacheBeam本身正在做的事情。它抱怨的实际类型是BoundedSource,一种内部梁类型,而不是您的自定义类型,从我查看的代码来看,它很可能与这里提到的
BoundedToundedSourceAdapter
有关
如果您的管道工作正常,那么您可能可以忽略这一点。如果您确实想提醒某人,您可以通知Beam用户或开发人员列表。您的管道是否正常工作,或者是否收到任何错误。执行失败?另外,由于警告指出您的数据可能不正确。您是否检查了输出是否一致?管道工作正常。然而,这个警告让我担心将来会发生这种情况。