Я хотел бы написать программу Spark, которая анализирует файл журнала csv, разделяет слова на разделитель ";" и создает объект, значения атрибута которого являются словами, расположенными на определенных позициях. Код будет выглядеть так в Scala, но у меня возникнут проблемы с переводом на Java 1.8 (я хотел бы использовать лямбда-выражения в Java).От Scala до Java 1.8
val file = sc.textFile("hdfs:/../vrLogs.csv")
class VREvent(val eventTimestamp: String, val deviceID: String, val eventType: String, val itemGroupName: String)
val vrEvents = file.map(_.split(';')).filter(_.size == 32).map(a => new VREvent(a(0), a(1), a(6), a(13)))
Я не знаю, как перевести эту часть в Java: .map(a => new VREvent(a(0), a(1), a(6), a(13)))
.
Я попробовал это (без части фильтра):
JavaRDD<String> records = lines.flatMap(s -> Arrays.asList(s.split(";"))).map(a -> new CDREvent(a[0], a[1], a[6], a[13]));
, пожалуйста, отформатируйте свой код! –
Итак, вы просите эквивалент метода «map» в Java 1.8, правильно? –
Извините за формат, я набрал слишком быстро. Я прошу эквивалент этого: «.map (a => новый VREvent (a (0), a (1), a (6), a (13)))» в Java 1.8. Благодаря! – marlieg