无法解析类型 org.apache.spark.sql.SchemaRDD

The type org.apache.spark.sql.SchemaRDD cannot be resolved

当我在 Eclipse 中尝试以下代码时出现此错误。

SparkConf sparkConf = new SparkConf().setAppName("simple hive app").setMaster("local");
JavaSparkContext javaSparkCtx = new JavaSparkContext(sparkConf);
HiveContext hiveContext = new HiveContext(javaSparkCtx.sc());
//hiveContext.sql("show tables").collect();

我正在使用以下依赖项。

<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.10</artifactId>
            <version>1.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.10</artifactId>
            <version>1.2.1</version>
        </dependency>

似乎 SchemaRDD class 已从 1.3 版中删除。我不确定我的代码中有什么问题。有人可以帮忙吗?

问题是你的旧版本的spark-hive (1.2.1),它仍然需要SchemaRDD。升级到 1.4.0.