44:错误:值读取不是对象的成员org.apache.spark.sql.SQLContext
问题描述:
我正在使用Spark 1.6.1和Scala 2.10.5。我试图通过com.databricks阅读csv文件。 启动spark-shell时,我还使用下面的行以及44:错误:值读取不是对象的成员org.apache.spark.sql.SQLContext
spark-shell --packages com.databricks:spark-csv_2.10:1.5.0 --driver-class-path到/ 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以及其他网站的建议。但似乎没有任何工作。
答
SQLContext
表示对象访问 - 类中的静态方法。
你应该使用sqlContext
变量,方法不是静态的,而是在课堂上
所以代码应该是:
val df = sqlContext.read.format("com.databricks.spark.csv").option("inferScheme","true").option("header","true").load("path_to/data.csv");
但现在我得到另一个错误 的conf:org.apache.spark .SparkConf = [email protected] sc:org.apache.spark.SparkContext = [email protected] sqlContext:org.apache.spark.sql.SQLContext = org.apache.spark .sql.SQLContext @ 62d42eb7 java.lang.RuntimeException:配置对象时出错 我应该怎样做到这一点? – user3521180
@ user3521180它涉及到:http://stackoverflow.com/questions/30263646/sparksql-error-table-not-found。这与这个问题无关,解决将需要更多的信息 - 完整的代码和异常stacktrace - 所以我建议发布新的问题 –
这是一个解决的线程现在 – user3521180