为了账号安全,请及时绑定邮箱和手机立即绑定

从PCollections获取列表

从PCollections获取列表

跃然一笑 2021-04-06 15:14:55
我想要一个来自Pcollection的列表值。PCollection<List<Integer>> lst =    bqT2.apply(ParDo.of(new UserId()));  // line 1List 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中列出吗?为了详细说明,我有两个PCollections。PCollection   p1 = pipeline.apply("",BigQueryIO.read().fromQuery("SELECT * from myTable where userid in " +  lst + ));注意:第一个来自第1行不知道google dataflow是否不支持简单用例。
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

由于数据流管道的分布式特性,无法直接从PCollection访问数据。

不用转换为列表,而是进行“组合”转换,将多个整数的PCollection转换为包含SQL查询中所需的单个列表元素的PCollection,并使用先前的PCollection(列表将BigQuery读取查询链接到另一个转换)整数)。



查看完整回答
反对 回复 2021-04-21
?
临摹微笑

TA贡献1982条经验 获得超2个赞

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

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


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信