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

Posted

技术标签:

【中文标题】org.apache.spark.sql.SchemaRDD 类型无法解析【英文标题】:The type org.apache.spark.sql.SchemaRDD cannot be resolved 【发布时间】:2015-08-25 10:56:44 【问题描述】:

当我在 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 类已从 1.3 版中删除。我不确定我的代码有什么问题。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

如何连接hive中的特定数据库并获取所有表? 你可以从你的系统 shell 执行此操作并使用“显示表​​”命令

以上是关于org.apache.spark.sql.SchemaRDD 类型无法解析的主要内容,如果未能解决你的问题,请参考以下文章