博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Storm Trident示例partitionBy
阅读量:5310 次
发布时间:2019-06-14

本文共 1765 字,大约阅读时间需要 5 分钟。

如下代码使用partitionBy做repartition, partitionBy即根据相应字段的值按一定算法,把tuple分配到目标partition当中(Target Partition = hash(fields) % (number of target partition)),

相同值会被分配到同一个partition当中,由于不同值有可能出现相同的hash, 根据上面的算法,不同的值,也可能分配到同一个partition中。

省略部分代码,省略部分可参考:https://blog.csdn.net/nickta/article/details/79666918

 

FixedBatchSpout spout = new FixedBatchSpout(new Fields("user", "score"), 3,                   new Values("nickt1", 4),                  new Values("nickt2", 7),                   new Values("nickt1", 8),                  new Values("nickt4", 9),                   new Values("nickt5", 7),                  new Values("nickt1", 11),                  new Values("nickt4", 5)                  );          spout.setCycle(false);          TridentTopology topology = new TridentTopology();          topology.newStream("spout1", spout)                  .partitionBy(new Fields("user"))                  .each(new Fields("user"),new Debug("print:"))                  .parallelismHint(5);

  

输出结果:由输出,可以看出,nickt1都是在partition1中输出,nickt4都是在partition4中输出

<Fri Mar 23 15:21:46 CST 2018[partition2-Thread-53-b-0-executor[35 35]]> DEBUG(print:): [nickt2]

<Fri Mar 23 15:21:46 CST 2018[partition1-Thread-128-b-0-executor[34 34]]> DEBUG(print:): [nickt1]
<Fri Mar 23 15:21:46 CST 2018[partition1-Thread-128-b-0-executor[34 34]]> DEBUG(print:): [nickt1]
<Fri Mar 23 15:21:46 CST 2018[partition1-Thread-128-b-0-executor[34 34]]> DEBUG(print:): [nickt1]
<Fri Mar 23 15:21:46 CST 2018[partition4-Thread-126-b-0-executor[37 37]]> DEBUG(print:): [nickt4]
<Fri Mar 23 15:21:46 CST 2018[partition0-Thread-72-b-0-executor[33 33]]> DEBUG(print:): [nickt5]
<Fri Mar 23 15:21:46 CST 2018[partition4-Thread-126-b-0-executor[37 37]]> DEBUG(print:): [nickt4]

转载于:https://www.cnblogs.com/nickt/p/8630626.html

你可能感兴趣的文章
Atitit 如何创新 创新只有在两种条件下发生:自由、效率。
查看>>
用户权限树的建立及递归算法思路原则
查看>>
MyBatis的foreach语句详解
查看>>
input
查看>>
【新坑】音乐生成
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
怎么在windows7系统我的电脑中添加快捷方式
查看>>
QT - 内存泄漏检测
查看>>
三层架构
查看>>
epoll使用具体解释(精髓)
查看>>
数据库设计笔记
查看>>
JPA进行insert操作时会首先select吗
查看>>
AndroidArchitecture
查看>>
原生JavaScript第六篇
查看>>
JS基础学习3
查看>>
Tennis Championship
查看>>
SQL
查看>>
JavaScript基础-var
查看>>