44: error: value read is not a member of object org.apache.spark.sql.SQLContext

44: error: value read is not a member of object org.apache.spark.sql.SQLContext

我正在使用 Spark 1.6.1 和 Scala 2.10.5。我正在尝试通过 com.databricks 读取 csv 文件。 在启动 spark-shell 时,我也使用下面的行

spark-shell --packages com.databricks:spark-csv_2.10:1.5.0 --driver-class-path 路径to/sqljdbc4。 jar,下面是全部代码

import java.util.Properties
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.sql.SQLContext


val conf = new SparkConf().setAppName("test").setMaster("local").set("spark.driver.allowMultipleContexts", "true");
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)

import sqlContext.implicits._

val df = SQLContext.read().format("com.databricks.spark.csv").option("inferScheme","true").option("header","true").load("path_to/data.csv");

我遇到以下错误:-

错误:读取的值不是对象 org.apache.spark.sql.SQLContext 的成员, 并且“^”指向错误消息中的 "SQLContext.read().format"。

我确实尝试了 Whosebug 以及其他网站中可用的建议。但似乎没有任何效果。

SQLContext表示对象访问-class.

中的静态方法

您应该使用 sqlContext 变量,因为方法不是静态的,而是在 class

所以代码应该是:

val df = sqlContext.read.format("com.databricks.spark.csv").option("inferScheme","true").option("header","true").load("path_to/data.csv");