我想要输入数据集中20%的样本数据。
我想到了两种方法:
-
最初从每个映射器发出20%的数据(单个映射器发出20%的数据)。然后,在shuffle和sort之后,Reducer找到20%的mapper数据。(Map和Reduce的程序相同)
-
简单地从mapper发出每一行,然后在Reducer中从总数据中找到20%的样本数据。
哪个是更好的方法?
我肯定会选择你的第一个选项。我不知道你为什么需要减速机。只需要在地图阶段过滤掉20%,然后收工。