我使用的是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 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"在错误消息中。
我确实尝试过stackoverflow中提供的建议,以及其他网站。但似乎没有任何工作。
答案 0 :(得分:1)
SQLContext
表示对象访问 - 类中的静态方法。
您应该使用sqlContext
变量,因为方法不是静态的,而是在类
所以代码应该是:
val df = sqlContext.read.format("com.databricks.spark.csv").option("inferScheme","true").option("header","true").load("path_to/data.csv");