我是Apache Beam的新手。
基本上,我有两个PCollection,每个都包含多个DataRecords,定义为:
class DataRecord {
private String id;
.......
}
每条记录都有一个id和多个数据字段。
我有两个收藏:
PCollection<DataRecord> p1 = pipeline.apply(...);
PCollection<DataRecord> p2 = pipeline.apply(...);
我需要找出:
DataRecord只能通过其id字段进行区分。
到目前为止,我所做的是将两个PCollection实例转换为PCollection
PCollection<KV<String, DataRecord>> pkv1
PCollection<KV<String, DataRecord>> pkv2
然而,由于PCollection不允许通过键进行访问,我不知道如何像在Java中一样区分这两个映射。
有人能给我指出正确的方向吗?
您可以为您的用例更简单地实现它,而不需要间接层:
CoGroupByKey
收集具有相同id的元素ParDo
过滤仅出现在pkv1
在Beam SQL代码库中,实际上有一些代码可以做到这一点,但您可以针对您的用例更简单地完成这一点,而无需太多间接操作。
最有效的实现将取决于集合的大小以及有多少元素可能有命中。另一个要尝试的算法是
我想知道Jsoup中是否有任何方法可以区分同一类中的多个元素。为了澄清,请考虑下面的HTML片段,我需要检索类名“description”,但我需要区分一个信息和另一个信息。 谢谢大家!
首先,我是如何从通知中读取WhatsApp消息的? 嗯,我进行了研究,并且已经能够实现具有适当权限的(没有任何秘密策略),并且能够监听来自WhatsApp的通知消息。这家伙给了我这个主意,功劳要归功于他。 不管怎样,我现在可以阅读消息了,但问题是WhatsApp显然会多次发送同一条消息,但有时却不会显示多个通知。我怎么知道? 我记录了我的侦听器收到的通知,发现了几条相同的消息。通知的一般结构如下所
问题内容: 有没有比以下更有效的方法: 问题答案: 在查询中使用PARTITION(partitionN)语法应该非常少见。 通常,您只想为分区键指定值,并允许Oracle执行分区消除。例如,如果您的表每天根据TRANSACTION_DATE进行分区 将从今天的分区,昨天的分区和前一天的分区中选择所有数据。
我已经在c中创建了kafka消费者,并创建了一个具有10个分区的主题,当我尝试使用消费者读取数据时,它仅从2个分区读取,然后说没有更多的消息。我尝试使用这两种方法,即订阅和分配,但它们都不起作用。我应该如何将所有10个分区分配给单个使用者,这是将分区分配给使用者的正确方法吗?我已经使用此存储库构建了自定义消费者 https://github.com/edenhill/librdkafka/blob
嗨,我正在使用Java Swing构建一个简单的标记工具。组件中有两个JList,每当我单击tagging按钮时,我都想给给定的文本添加一个标记。如果我的光标焦点在左边的JList上,我想修改左边的JList上的文本,如果是右边的,修改右边的。我所说的光标焦点是指我可以使用键盘箭头导航列表项的地方。 所以按钮监听器应该告诉当前光标焦点是在左边的Jlist上还是在右边的Jlist上。我该怎么做呢?我