发布
社区首页 >问答首页 >使用Apache (Scala)读取CSV的正确语法

使用Apache (Scala)读取CSV的正确语法
EN

Stack Overflow用户
提问于 2018-06-20 19:16:02
回答 1查看 781关注 0票数 2

我需要读取一个CSV文件,其中有6列,类型分别为Integer、String、Integer、Integer。我想使用Apache的ExecutionEnvironment.readCsvFile方法,但是我总是收到输入错误和参数错误。我目前有:

代码语言:javascript
代码运行次数:0
复制
val env = ExecutionEnvironment.getExecutionEnvironment
val lines = env.readCsvFile[Integer, String, String, String, Integer, Integer]("C:/Users/zoldham/IdeaProjects/flinkpoc/Data/gun-violence-data_01-2013_03-2018.csv")

然后得到

代码语言:javascript
代码运行次数:0
复制
Error:(43, 32) wrong number of type parameters for method readCsvFile: [T](filePath: String, lineDelimiter: String, fieldDelimiter: String, quoteCharacter: Character, ignoreFirstLine: Boolean, ignoreComments: String, lenient: Boolean, includedFields: Array[Int], pojoFields: Array[String])(implicit evidence$1: scala.reflect.ClassTag[T], implicit evidence$2: org.apache.flink.api.common.typeinfo.TypeInformation[T])org.apache.flink.api.scala.DataSet[T]

请注意,这些是第42和43行。正确的语法是什么样子的?我一直找不到任何例子来作为它应该是什么样子的基线。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 06:30:39

您需要指定一个元组或一个case类作为输入类型。尝试以下几点:

代码语言:javascript
代码运行次数:0
复制
val env = ExecutionEnvironment.getExecutionEnvironment
val lines = env.readCsvFile[(Integer, String, String, String, Integer, Integer)]("C:/Users/zoldham/IdeaProjects/flinkpoc/Data/gun-violence-data_01-2013_03-2018.csv")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50955510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档