我有Spark 1.6并试图将csv(或tsv)文件作为数据帧读取。 以下是我采取的步骤:
scala> val sqlContext= new org.apache.spark.sql.SQLContext(sc)
scala> import sqlContext.implicits._
scala> val df = sqlContext.read
scala> .format("com.databricks.spark.csv")
scala> .option("header", "true")
scala.option("inferSchema", "true")
scala> .load("data.csv")
scala> df.show()
错误:
<console>:35: error: value show is not a member of org.apache.spark.sql.DataFrameReader df.show()
最后一个命令应该显示数据帧的前几行,但是我收到错误消息。任何帮助将不胜感激。
答案 0 :(得分:9)
看起来你的函数没有正确链接在一起,并且它试图在val df上运行“show()”,这是对DataFrameReader类的引用。 如果我运行以下内容,我可以重现您的错误:
val df = sqlContext.read
df.show()
如果您重新构建代码,它将起作用:
val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").load("data.csv")
df.show()
答案 1 :(得分:1)
在java中首先在POM.xml文件中添加依赖项并运行以下代码来读取csv文件。
<dependency>
<groupId>com.databricks</groupId>
<artifactId>spark-csv_2.10</artifactId>
<version>1.4.0</version>
</dependency>
Dataset<Row> df = sparkSession.read().format("com.databricks.spark.csv").option`enter code here`("header", true).option("inferSchema", true).load("hdfs://localhost:9000/usr/local/hadoop_data/loan_100.csv");
答案 2 :(得分:0)
请改用以下内容:
val sqlContext = new SQLContext(sc);
它应该可以解决您的问题。