Вы можете попробовать следующий код для Scala:
val array = Array(((1, 0), (1, 0)),
((1, 0), (2, 0)),
((1, 0), (3, 0)),
((2, 0), (1, 0)),
((2, 0), (2, 0)),
((2, 0), (3, 0)),
((3, 0), (1, 0)),
((3, 0), (2, 0)),
((3, 0), (3, 0)))
val rdd = sc.parallelize(array) // creating RDD
val filteredRDD = rdd.filter(row => row._1 != row._2) //accessing element in tuple
filteredRDD.collect() // calling action
Результат:
Array[((Int, Int), (Int, Int))] = Array(((1,0),(2,0)), ((1,0),(3,0)), ((2,0),(1,0)), ((2,0),(3,0)), ((3,0),(1,0)), ((3,0),(2,0)))
Для Pyspark можно использовать следующий код:
array = [((1, 0), (1, 0)), ((1, 0), (2, 0)), ((1, 0), (3, 0)), ((2, 0), (1, 0)), ((2, 0), (2, 0)), ((2, 0), (3, 0)), ((3, 0), (1, 0)), ((3, 0), (2, 0)), ((3, 0), (3, 0))]
rdd = sc.parallelize(array) # creating RDD
filteredRDD = rdd.filter(lambda row : row[0] != row[1]) #accessing element in tuple
filteredRDD.collect() # calling action
Результат:
[((1, 0), (2, 0)),
((1, 0), (3, 0)),
((2, 0), (1, 0)),
((2, 0), (3, 0)),
((3, 0), (1, 0)),
((3, 0), (2, 0))]