Я использую этот фрагмент кода
val profSalData: RDD[(String, AnyVal)] = data.map[(String, AnyVal)](f =>
{
(
f.split("\\|")(3),
util.control.Exception.ignoring(
classOf[NumberFormatException],
classOf[ArrayIndexOutOfBoundsException]) { f.split("\\|")(4).toLong } match {
case p: Exception.Catch[Unit] =>
case c => c
})
})
Ввод и вывод
803|70|M|administrator|34105
74|39|M|scientist|T8H1N
74|39|M|scientist|
74|39|M|scientist|12345
(administrator,34105)
(scientist,())
(scientist,())
(scientist,12345)
Я хочу игнорировать пустые и непарсируемые в long из вывода. Я могу использовать фильтр, но не хочу использовать фильтр здесь, как показано ниже
.filter(f => { f._2.toString() != "()" })