我似乎正在与光束中的这种模式作斗争。这是一个流式管道。
在高水平上:
不可避免的是,我最终得到了一些pCollection[kv[MessageId,S3FilePaths]]
,并希望在S3FilePaths
上应用一系列pTransforms
,但不要忘记它们最初是由MessageId
键控的。
我似乎找不到一个通用的“映射KV pcollection的值但保留密钥”功能,我认为我必须使用PTransform(与dofn
)相反),因为文件IO已经全部实现为pTransforms。
我是不是从根本上想错了?任何帮助都是非常感谢的。
更新:抱歉对细节不够详细。在一个令人沮丧的周五结束时发布这篇文章是我自己的错。
我有几个基本的绊脚石:
在这一点上,我有一些工作的端到端。我的代码实际上是用scio编写的,所以共享有点棘手,但级别很高:
repeatedly.forever(Afterprocessingtime.PastFirstElementInpane())
触发器读取RabbitMQ,并小心使用processContext.output
在整个窗口中保留窗口和时间戳pcollection[(MessageId,V)]
(scalatuple2
语法)的一般形状。当v
是S3文件的路径时,我使用发出文件内容的路径中的ptransform
pcollection[kv[(MessageId,FileElementId),FileElement]]
之后进行的,然后再还原到pcollection[MessageId,FileElement]
以便保留减少每个传入消息的语义。第二个让我有点失望。我希望能够利用beam文件系统函数从文件中读取,并将每个输出与指定的消息id组合在一起。但我现在处境很好。
如果kv
只接受keyt
或valuet
,则无法将转换应用于kv
。如果在对值应用转换时需要保留键,那么推荐的方法是编写自己的dofns
,它可以接受kV
,但忽略键,或者重组管道,这样就不会依赖于需要删除键的转换的输出。
因为匹配器“*”丢弃简单键值对。我知道我错过了什么。有人帮忙吗?
我在计算一个键的出现次数时遇到了一些问题,同时也保留了几个值。 通常我只会: 它给出了每个关键点的出现次数。 但是,我还希望在计算键的出现次数的同时,保留键每次出现的值。类似这样: 例如:如果键x(1)是一个国家,而x(2)是一个城市,那么我想保留一个国家的所有城市,并知道一个国家有多少个城市。
是否可以在保留其键的同时存储 行? 假设我有下面的虚拟表: 我想存储此表,以便行按排序,并按按递减顺序排序,即: 显然,我可以将它保存为一个新变量,但是我还想将< code>id列作为我的主键。 Arun对“在data.table中设置键的目的是什么?”建议这可以通过巧妙使用< code>setkey来实现,因为它按照键的顺序对data.table进行排序(尽管没有将键设置为降序的选项): 但是,
问题内容: 我已经使用JavaScript原型和继承构建了一个大型应用程序。但是我很难组织我的代码。例如,我有一个类轮播,它具有许多类似这样的功能: 我想这样组织我的代码: 但是,这将导致“ this”的值丢失。我可以使用全局实例来跟踪它,但是当类被继承时这会引起问题,例如,在另一个文件中,我有类似的东西可以覆盖父类。 我的继承是这样完成的: 所以我可以做: 有谁知道我该如何处理“ this”值?
问题内容: 对于学校,我正在为游戏的排名列表编写一个小程序。为此,我使用字典,将玩家的名称作为键名,将分数作为键值。将有10场比赛,每场比赛都有一个自动排名系统,我将其打印到文件中。香港专业教育学院已经设法编码排名系统,但现在我面临更大的挑战,我无法解决: 我必须进行总体排名,这意味着someplayername可以在具有多个得分的多个比赛中使用,但我只需要保留重复项中的最高得分即可。 简而言之
问题内容: 我有一个名为“ Group”的实体类,NetBeans警告我“实体表名称是保留的Java Persistence QL关键字”。 类似的情况是使用保留的SQL关键字。 这个名字会被转义吗?使用其他表名可以解决@Table(name =“ otherName”)的问题。还是应该重命名课程? 问题答案: 这个名字会被转义吗? 有 没有 在JPA规范是这么说的,如果您的提供商做,这是供应商特