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", а остальные параметры не требуют пояснений.

Другие вопросы по тегам