flink与Scala API中的parseQuotedStrings等价

时间:2018-10-27 19:40:19

标签: scala apache-flink

我正在尝试将此Jave代码转换为Scala:

Mat picZERO(fitsSize, fitsSize, PICtypeCV);
Mat picZEROd(fitsSize, fitsSize, DFTtypeCV);

picZERO = loadfits(path);
picZERO.convertTo(picZEROd, DFTtypeCV); //I get the error here

进入scala。我无法在scala中找到DataSet<Tuple3<Long, String, String>> lines = env.readCsvFile("movies.csv") .ignoreFirstLine() .parseQuotedStrings('"') .ignoreInvalidLines() .types(Long.class, String.class, String.class); 以外的任何替代方法,在此我将不胜感激

1 个答案:

答案 0 :(得分:2)

下面的代码使用flink的java api,即您提供的代码的文字翻译。

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])

您也可以使用flink的scala api

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没有Java版本的流利api。 “宽大”选项与“ ignoreInvalidLines”相同,其他选项应可自我解释。