如何重写代码以避免在Spark 1.3.1中使用SqlContext.read()?

时间:2015-10-09 07:50:50

标签: apache-spark apache-spark-sql

我们的项目过去是在Spark 1.4.0上开发的,现在我们想将它迁移到另一个集群,这需要一个特殊的Spark JAR,其版本为1.3.1。当我们更换JAR时,我们发现以下代码不再起作用了:

val dataFrame = sqlContext.read.format("com.databricks.spark.csv")
  .options(getOptionProperties(request.Options))
  .schema(schema)
  .load(request.FilePath)

事实证明read仅在1.4之后可用。那么如何重写代码以获得相同的结果呢?

提前致谢!

2 个答案:

答案 0 :(得分:2)

来自1.4.0 SQLContext Documentation

  

load(String source,StructType schema,java.util.Map options)

     

已过时。从1.4.0开始,由

取代      

读()。格式(源).schema(模式)可供选项(选项).load()。

所以我想你可以使用

load("com.databricks.spark.csv", schema, getOptionProperties(request.Options))

获得相同的结果。

答案 1 :(得分:0)

要将CSV读入数据框,您需要此第三方软件包https://github.com/databricks/spark-csv

Spark 1.3上的文件很清楚