java - 从 PCollection 获取列表

标签 java google-cloud-platform pipeline dataflow

我想要 Pcollection 中的列表值。

PCollection<List<Integer>> lst =    bqT2.apply(ParDo.of(new 
UserId()));  // line 1
List myList = lst.getAll(); // line 2 

但是没有“getAll()”函数

我发现了类似的东西

    List<String> dummylist = Arrays.asList(dummy);
    DoFnTester<String,String> fnTester = DoFnTester.of(new AAA(mapview));
    fnTester.setSideInputInGlobalWindow(mapview, csvlist);
    //dummylines.apply(ParDo.of(fnTester));
    List<String> results = fnTester.processBatch(dummylist);

但我没有找到任何使用“DoFnTester”函数来获取列表项的方法。

有没有办法从PCollection中列出?

为了详细说明,我有两个 PCollection。

PCollection   p1 = pipeline.apply("",
BigQueryIO.read().fromQuery("SELECT * from myTable where userid in " +  lst + ));

注意:lst 来自第 1 行

不确定 Google 数据流是否不支持简单用例。

最佳答案

apache_beam.transforms.combiners.ToList如果该列表适合您的内存,则可以为您工作。

beam.combiners.ToList() 是 Python 版本。

关于java - 从 PCollection 获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51002854/

相关文章:

java - 数据报总是被完整接收吗?

docker - 尝试在 google cloud run 上安装日志记录但失败

java - Apache 光束中的 Gamma 分布

build - Google Cloud Build 与 Bitbucket 的集成

linux - 如何将(两个)管道指令的输出传递给文件?

xslt - xslt : from base xml to intermediate xml to final output

java - 在 Java 中绘制谢尔宾斯基三角形

java - Titan Cassandra 多线程事务锁定

apache-spark - 如何在 Spark Pipeline 中使用随机森林

java - 同步和可见范围