scala spark 中笛卡尔变换的奇怪行为

Strange behavior of cartesian transformation in scala spark

我在 Scala Spark 中使用笛卡尔变换,我有一组 6 个坐标如下。

coord.collect
res114: Array[(Float, Float, Float)] = Array(
  (43.13,-67.331,-18.137),     
  (63.914,-67.078,-16.894), 
  (23.13,-60.341,-28.117),     
  (53.914,-67.028,-16.824), 
  (63.11,-69.311,-18.117),     
  (61.924,-67.068,-16.874)
)

coord.cartesian.coord 给出以下输出。

coord.cartesian(coord).collect
res118: Array[((Float, Float, Float), (Float, Float, Float))] = Array(
  ((43.13,-67.331,-18.137),(43.13,-67.331,-18.137)), 
  ((43.13,-67.331,-18.137),(63.914,-67.078,-16.894)), 
  ((43.13,-67.331,-18.137),(23.13,-60.341,-28.117)), 
  ((43.13,-67.331,-18.137),(53.914,-67.028,-16.824)), 
  ((43.13,-67.331,-18.137),(63.11,-69.311,-18.117)), 
  ((63.914,-67.078,-16.894),(43.13,-67.331,-18.137)), 
  ((63.914,-67.078,-16.894),(63.914,-67.078,-16.894)), 
  ((63.914,-67.078,-16.894),(23.13,-60.341,-28.117)),  ((...

为什么第6个元素不是((43.13,-67.331,-18.137),(61.924,-67.068,-16.874))?

我是否进行了某种洗牌,无法让我按顺序选择值?

顺序无关紧要,因为没有顺序保证(涉及洗牌时)。

只要你总共检索到正确的 36 个结果集(不考虑顺序),一切都很好。