DataSet迭代结果不一致

时间:2018-04-27 01:06:51

标签: apache-flink

DataSet迭代为不同的执行返回不同的结果。 有时,结果的大小与打印的输出值数量不匹配。

我不能在这里分享完整的代码,但如果有人想看看,我可以直接分享。

编辑1:
biscuitfresh 的答案修复了不匹配的大小和迭代值问题。但我仍然面临着使用相同输入获得不同结果的实际问题

<table border="1">
  <thead>
      <tr>
          <th>Username</th>
          <th>Listings</th>
          <th>Actions</th>
      <tr>
  </thead>

  <tbody>
      <tr>
          <td>hi</td>
          <td>ha</td>
          <td>
              <button>ChangeUsername</button>
              <button>ChangePassword</button>
              <button>Delete User</button>
          </td>
      </tr>

      <tr>
          <td>hi</td>
          <td>hi</td>
          <td>
              <button>ChangeUsername</button>
              <button>ChangePassword</button>
              <button>Delete User</button>
          </td>
      </tr>
  </tbody>
</table>

上面的代码有时会打印比返回大小更小的值,有时会返回比返回大小更多的值。关于它为什么会发生的任何线索?

编辑2: 在我的代码中找出了不同结果的错误。它是由于其中一个映射器中的标志重置。接受 biscuitfresh ,因为它在发布的代码段中指出了问题。

1 个答案:

答案 0 :(得分:1)

尝试只调用finalVals.collect()一次,以确保您确实在处理相同的集合(尚未更改)。那么你应该得到相应数量的结果。