我正在使用带有hadoop预制的独立火花。我想知道我应该导入哪个库才能让我读取.csv文件?
我从github找到了一个库:https://github.com/tototoshi/scala-csv 但是当我按照自述文件中所示键入import com.github.tototoshi.csv._时,它不起作用。我应该在导入之前做一些其他的事情,也许就像先用sbt建立它一样?我尝试使用sbt构建它也不起作用(我所做的是按照自述文件的最后一部分中的步骤,将代码克隆到我的本地计算机,安装sbt并执行./sbt,但不起作用)
答案 0 :(得分:4)
只需启用spark-csv包,例如
spark-shell --packages com.databricks:spark-csv_2.10:1.4.0
这将启用csv
格式,例如
val df = sqlContext.read.format("csv").load("foo.csv")
如果您有标题
val df = sqlContext.read.format("csv").option("header", "true").load("foo.csv")
,请参阅github repo
答案 1 :(得分:0)
你应该重新解释你的问题,解释它不起作用,否则人们会继续投票。
如果你想使用spark-shell,你可以使用像@the.malkolm这样的“--packages”提供要在shell中动态导入的包列表。我认为仍然没有完成解决方案,因为你不是在如何在spark-shell中解决它,而是如何在sbt中编译。我已经在https://github.com/tototoshi/scala-csv之前使用了maven。我假设sbt中的东西没那么大不同,除了在这里你必须将以下行添加到build.sbt然后添加./sbt。
libraryDependencies += "com.github.tototoshi" %% "scala-csv" % "1.3.0"
您可以尝试使用数据库提供的库与sbt一起使用此行
libraryDependencies += "com.databricks" %% "spark-csv_2.10" % "1.4.0"
如果这不起作用,我建议你更好地查看http://www.scala-sbt.org/documentation.html,因为它可能不是使用哪个库的问题,而是如何构建一个sbt项目。