有很多次我想创建自定义PCollectionView。这可能吗?目前,我唯一的解决方法是创建一个PTransform,返回一个PCollection,然后应用一个PCollectionView.asSingleton()转换,但我注意到(至少几个月前)这比运行慢得多本机PCollectionView转换,例如View.AsList()。而且,由于我将数百万次调用此PCollectionView方法,如果它需要几毫秒而不是一秒钟就会有所不同。
答案 0 :(得分:0)
您想如何查看PCollection
的内容?这个问题的答案将决定你应该如何处理事情。
云数据流(更常见的是,任何Apache Beam后端)有一些方法可以实现PCollection
,以便您有效地将其作为侧输入进行访问。因此,list,singleton,map和multimap对于它们通常的访问模式(迭代,键查找等)都非常有效。 Dataflow(现在为Beam)的体系结构使您可以定义自定义视图,但如果它需要新的访问模式,那么它将需要后端支持才能有效。
另外,您可能想知道在第一次访问单面输入后,通常会缓存该值。