idea运行spark无法导入sql包object sql is not a member of package org.apache.spark

idea运行spark无法导入sql包object sql is not a member of package org.apache.spark,第1张

昨天在idea用scala class试运行第一个spark程序的时候一直报一个很奇怪的错。找不到spark下的sql包

后来根据网上的提示在build文件里加了依赖依旧没有解决问题,重新导入library等方法都没有解穗碧磨决问题。

后来发现是因为scala版本过高导致的,可能spark对scala版本有非常严格的要求。

通过在terminal中运行spark-shell可以查看到spark的版本信息。

首先cd 进猜斗入spark的文件夹,再打开sparkshell

在file structure>>library中重新添加scala版本设定为对应的版本,重新导入对应的包慧启。注意这里build文件中的依赖别忘记改。

Date:2020/12/22

Version:Spark 3.0java 1.8.0_221Hbase 1.3.6Scala 2.12.11

1、首先是pom.xml,注释了一些东西,比如 不用 添加hbase-client和hbase-server,java中写MapReduce *** 作hbase需要这两个,scala写spark *** 作hbase不需要这两个,程序跑不起来,sc无法创建历悔拿。

2、将hbase的lib中的以下jar文件添前蔽加进来。(to IDEA小白 :可以新建一个文件夹保存这些jar文件,在IDEA中添加一个java的library指向这个文件夹)

3、将hbase中的配置文件hbase-site.xml添加到项目中的resources文件夹中

4、测试肢搭spark连接hbase

运行后的结果:

Master作为Spark Standalone模式中的核心,如果Master出现异常,则整个集群的运行情况和资源都无法进行管理,整个集群将处于无法工作的状态。

Spark在设计的时候考虑到了这种情况,Master可以起一个或者多个Standby Master,当Master出现异常的时候,Standy Master 将根据一定规则确定一个接管Master。在Standalone模式中Spark支持下面集中策略(spark-env.sh配置spark.deploy.recoveryMode):

ZOOKEEPER:集群的元数据持久化到Zookeeper中,当Master出现异常后,Zookeeper会通过选举机制选出新的Master,新的Master接管时需要从Zookeeper中获取之前集群的持久化信息,并根据这些信息恢复集群状态。

FILESYSTEM:集群的元数据持久化到本地的文件系统中,当Master出态仿现问题后只要在该机器上重新启坦蠢动Master,重启后的Master会根据之前的持久化信息恢复集群状态。

CUSTOM:自定义恢复方式,对StandaloneRecoveryModeFactory抽象类进行实现并把该类配置让闭陪到系统中,当Master


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8201862.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存