我刚开始使用Spark。我安装了Spark的CDH5。但是,当我尝试使用sparkcontext时,它会给出如下错误
<console>:17: error: not found: value sc
val distdata = sc.parallelize(data)
我对此进行了研究,发现了error: not found: value sc
并尝试使用./spark-shell启动spark上下文。它给出了错误No such File or Directory
答案 0 :(得分:3)
如果您在确切目录中,则可以从spark-shell
开始./
;如果您在其他地方,则可以path/to/spark-shell
开始。
另外,如果您使用spark-submit
运行脚本,则需要先将sc
初始化为SparkContext
:
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
val conf = new SparkConf().setAppName("Simple Application")
val sc = new SparkContext(conf)
答案 1 :(得分:3)
将spark目录添加到路径,然后您可以从任何地方使用spark-shell。
如果您在spark-submit作业中使用它来添加import org.apache.spark.SparkContext
,则使用以下命令创建一个Spark上下文:
val sc = new SparkContext(conf)
其中conf已定义。
答案 2 :(得分:1)
还有另一个stackoverflow帖子,通过从spark会话获取sc(火花上下文)来回答此问题。我这样做:
val 火花 = SparkSession.builder()。appName(“ app_name”)。enableHiveSupport()。getOrCreate()
val sc = 火花 .sparkContext
答案 3 :(得分:0)
启动新终端可以解决我的问题。
答案 4 :(得分:0)
您需要先运行Hadoop守护程序(运行此命令“start-all.sh”)。然后尝试