Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FileBasedLink的类型参数是什么?_Java_Apache Beam_Apache Beam Io - Fatal编程技术网

Java FileBasedLink的类型参数是什么?

Java FileBasedLink的类型参数是什么?,java,apache-beam,apache-beam-io,Java,Apache Beam,Apache Beam Io,我正在将自定义接收器扩展FileBasedLink从2.0.0版迁移到2.2.0版。该类已更改并添加了两个额外的类型参数:UserT和DestinationT: @Experimental(value=FILESYSTEM) public abstract class FileBasedSink<UserT,DestinationT,OutputT> extends java.lang.Object implements java.io.Serializable, HasDispla

我正在将自定义接收器扩展FileBasedLink从2.0.0版迁移到2.2.0版。该类已更改并添加了两个额外的类型参数:
UserT
DestinationT

@Experimental(value=FILESYSTEM)
public abstract class FileBasedSink<UserT,DestinationT,OutputT>
extends java.lang.Object
implements java.io.Serializable, HasDisplayData
请注意,在下一个版本的Beam中,此API将被弃用。然而,与此同时:

  • UserT
    是要写入的PCollection元素的类型-
    WriteFiles
    转换将适用于
    PCollection
  • output
    是将直接传递到接收器的
    Writer
    的低级记录类型。它与
    UserT
    不同,因为某些接收器具有“格式化功能”,例如Avro可以将任何记录转换为
    genericord
    UserT
    通过
    DynamicDestinations.formatRecord
    映射到
    output
  • DestinationT
    是一种逻辑类型,用于支持同时写入多个目标,例如,将不同类型的事件写入不同目录中具有不同模式的Avro文件
    DestinationT
    作为要写入的记录的分组键,使用相同的配置写入具有相同的
    DestinationT
    的记录。请参见
    FileBasedSink.dynamicDestination
    getDestination
    UserT
    记录中提取目的地,并使用一系列其他方法生成给定目的地的配置,例如
    DynamicAvroDestinations.getSchema

此API不是最佳的—例如,它将这些高级概念(用户类型和目标)引入特定于文件格式的代码中(例如,写入Avro文件)。这就是它被重新设计的原因。请继续关注实现新API的PR。

感谢您的解释。从API的用户角度来看,即使它不是最优的,如果它被记录下来也是有帮助的,因为它是用户看到的。在提交重新设计之前,您是否建议保留版本2.0.0?
* @param <OutputT> the type of values written to the sink.`