当前位置: 首页 > 知识库问答 >
问题:

KeyedStream的不平衡处理

葛骏
2023-03-14

我面临的一个问题是KeyedStream在workers上是纯粹并行的,因为键的数量接近并行度

我的输入记录在0-N的范围内。当我使用keyBy时,有些工人处理零个键,有些则不止一个。这是因为KeyGroupRangeasSignment.AssignKeytoParallelOperator()KeyGroupStreamPartitioner中对Key.HasCode使用murmurHash并选择通道。

我知道partitionCustom可以处理这种情况,但partitionCustom只返回数据流,而不是KeyStream。

那么我能做什么处理程序没有黑客?

共有1个答案

卫骏
2023-03-14

嗯,这有点黑,但请参阅MakeKeyForOperatorIndex。我使用了一个自定义RichMapFunction来计算它在其Open()调用中的子任务索引,然后使用MakeKeyForOperatorIndex创建一个键(整数或字符串),该键被添加为字段,然后用于KeyBy()

 类似资料:
  • 我有一个Flink流应用程序,需要能够“暂停”和“取消暂停”对特定键控流的处理。“处理”意味着只是在流上执行一些简单的异常检测。 我们正在考虑的flow是这样工作的: 命令流,可以是ProcessCommand、PauseCommand或ResumeCommand,每个命令都有一个用于按键的id。 处理命令将检查按键在处理前是否暂停,如果没有暂停,则检查缓冲区。 暂停命令(PauseCommand

  • 集群由4个节点中的每个节点上的16个引线进行平衡 ISR在4个箱子中也保持平衡,每个箱子有32个ISR[复制系数为2] 所有4个盒子上的网络输入和输出几乎相等 请求任何帮助或可以查看的领域/指标来调试此异常。 对于将来正在搜索此信息的人https://mail-archives.apache.org/mod_mbox/kafka-users/201710.mbox/

  • 问题内容: 我有以下代码: 在这一行上: 我遇到了错误。 我究竟做错了什么? 问题答案: 括号在正则表达式中有特殊含义。您可以逃脱括号,但是 对于此问题,您实际上根本不需要正则表达式 :

  • 我正在解决“破解编码面试”中的以下问题:实现一个函数来检查二叉树是否平衡。平衡树是这样一种树:任何节点的两个子树的高度相差不会超过一个。 这本书的示例解决方案(复制如下)假设从节点发出的树是平衡的,如果(a)节点的左子树和右子树是平衡的;和(b)节点本身是平衡的。我在试图理解为什么会这样?以上两个条件的满足如何证明从节点发出的整个树是平衡的? 谢啦

  • 相信维基百科文章:http://en.wikipedia.org/wiki/AVL_tree AVL树高度平衡,但一般不平衡重量,也不平衡μ;[4] 也就是说,同级节点的子节点数量可能相差很大。 但是,作为AVL树是: 自平衡二叉查找树[...]。在AVL树中,任何节点的两个子树的高度最多相差一个 我不明白AVL怎么会是重量不平衡的,因为——如果我很好地理解AVL树的定义——每个兄弟姐妹都会有大约

  • 本文向大家介绍数据不平衡怎么办?相关面试题,主要包含被问及数据不平衡怎么办?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 使用正确的评估标准,当数据不平衡时可以采用精度,调用度,F1得分,MCC,AUC等评估指标。 重新采样数据集,如欠采样和过采样。欠采样通过减少冗余类的大小来平衡数据集。当数据量不足时采用过采样,尝试通过增加稀有样本的数量来平衡数据集,通过使用重复,自举,SMOTE等方