Flink, что эквивалентно ParseQuotedStrings в Scala API - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь преобразовать этот код jave в scala:

DataSet<Tuple3<Long, String, String>> lines = env.readCsvFile("movies.csv")
            .ignoreFirstLine()
            .parseQuotedStrings('"')
            .ignoreInvalidLines()
            .types(Long.class, String.class, String.class);

Скала. Я не могу найти альтернативу в Scala parseQuotedStrings Я буду признателен за любую помощь здесь

1 Ответ

0 голосов
/ 28 октября 2018

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

...