У меня есть СДР с полем 1, содержащим название лекарства, и полем 2, содержащим соответствующую дозировку этого лекарства. Я пытаюсь отфильтровать этот СДР на основе нескольких критериев, сохраненных в наборе кортежей, например:
val MyCriteria = Set(("drug a", ">", 1.2), ("drug b", ">=", 4.5), ("drug c", "<", 6.3))
Я думаю, что я могу сделать что-то вроде:
val rslt = rdd.filter(x => MyCriteria.foreach(x.field1 == _._1 && x.field2 _._2 _._3))
Но я не знаю, как преобразовать 2-й элемент кортежа (строки) в реальные операторы, которые scala понимает. Выдает сообщение об ошибке:
<console>:1: error: ')' expected but '.' found.
val rslt = rdd.filter(x => MyCriteria.foreach(x.field1 == _._1 && x.field2 _._2 _._3))
^
Или что может быть лучше для реализации фильтра?