我有Maven依赖项spark-sql_2.1.0
和spark-hive_2.1.0
。但是,当我尝试import org.apache.spark.sql.DataFrame
时,会出现错误。但是进口
org.apache.spark.sql.SQLContext
没问题,没有错误。为什么呢?
答案 0 :(得分:5)
DataFrame已成为Spark 2.x中的type DataFrame = Dataset[Row]
。 Java没有类型别名,因此它在Java中不可用。您现在应该使用新类型Dataset<Row>
,因此请同时导入org.apache.spark.sql.Dataset
和org.apache.spark.sql.Row
答案 1 :(得分:1)
import org.apache.spark.sql.DataFrame
适用于scala
,而不适用于java
,因为没有为java
开发的库。您可以按照Spark SQL, DataFrames and Datasets Guide
dataSet
您可以导入以下内容
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
并将其用作
Dataset<Row> peopleDataFrame = spark.createDataFrame(rowRDD, schema);
或者
Dataset<Row> peopleDF = spark.createDataFrame(peopleRDD, Person.class);
或者
Dataset<Row> usersDF = spark.read().load("examples/src/main/resources/users.parquet");