Flink, что эквивалентно ParseQuotedStrings в Scala API
Я пытаюсь преобразовать этот код jave в scala:
DataSet<Tuple3<Long, String, String>> lines = env.readCsvFile("movies.csv")
.ignoreFirstLine()
.parseQuotedStrings('"')
.ignoreInvalidLines()
.types(Long.class, String.class, String.class);
Скала. Я не мог найти альтернативу в Скала parseQuotedStrings
Я буду признателен за любую помощь здесь
1 ответ
Решение
В следующем коде используется Java Api от Flink, буквальный перевод предоставленного вами кода.
import org.apache.flink.api.java._
val env = ExecutionEnvironment.getExecutionEnvironment
val movies = env.readCsvFile("movies.csv")
.ignoreFirstLine()
.parseQuotedStrings('"')
.ignoreInvalidLines()
.types(classOf[Long], classOf[String], classOf[String])
Также вы можете использовать Scala Api от Flink, что-то вроде этого
import org.apache.flink.api.scala._
val env = ExecutionEnvironment.getExecutionEnvironment
val movies = env.readCsvFile[(Int,String,String)]
("movies.csv", ignoreFirstLine = true, quoteCharacter = '"', lenient = true)
У AFAIK Scala api нет свободного API Java-версии. Параметры "lenient" такие же, как и "ignoreInvalidLines", а остальные параметры не требуют пояснений.