0

我的作业在我的笔记本中运行良好,但是当我将脚本复制并粘贴到 Spark Scala 计划作业中时,我遇到了诸如“script.scala:15: error: not found: value sqlContext”之类的错误。

我需要做什么才能按计划作业运行我的 Scala 代码?

4

2 回答 2

0

您是否使用 Qubole 调度程序来运行 spark scala 作业?我看到您提到作业在笔记本中运行良好。

在这一点上,有两种方法可以查看:

  1. 您可以安排笔记本(Spark 命令 -> 笔记本)更多详细信息可以在这里找到: https ://docs.qubole.com/en/latest/user-guide/engines/spark/cron-notebook.html

  2. 要通过分析选项卡运行 spark scala 并安排该命令,您可以导入 sparkcontext: import org.apache.spark.SparkContext._

理想情况下,查看命令会有所帮助,但现在,您可以在工作区下的分析页面上查看示例代码。保存的命令有一些有用的示例。

于 2020-01-08T19:17:44.527 回答
0

@paul-mineau ,在笔记本中,很少有变量是预先创建的并与 Spark JVM 对象相关联。例如变量名sc关联到JVM的SparkContext,关联到sparkSpark应用的SparkSession对象,同样sqlContext关联到应用的SQLContext。
在少数情况下,您可能无法将代码直接移植到分析。由于在分析中可能不会预先创建所有变量(即使预先创建,也不能保证变量名称相同。例如:SparkContext 可能绑定到变量名称sc1等)。
我建议SQLContext在您的应用程序中明确创建这些对象(在这种情况下)并访问它。
对于这种特定情况,如果 Spark 版本 > 2.0.0,您可以访问SQLContext使用SparkSession( org.apache.spark.sql.SparkSession#sqlContext)

于 2020-02-03T10:24:58.540 回答