问题标签 [spark-jobserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
216 浏览

spark-jobserver - Spark-JobServer Java 客户端 - ClassNotFoundException

我正在使用来自此 GitHub 项目的 Spark JobServer Java 客户端:

https://github.com/bluebreezecf/SparkJobServerClient

我可以将包含我要执行的作业的 Jar 上传到 Spark JobServer。日志表明它存储在 /tmp/spark-jobserver 目录结构中。但是,当从我创建的上下文中访问它时,如果找不到 Job 类,则不会为我的 Job 请求加载 Jar。

编辑:我后来发现由 Java 客户端上传的 jar 已损坏。这就是 Spark JobServer 无法使用它的原因。当我用一个好的 Jar 手动替换它时,JobServer 运行良好。现在,真正的问题与客户端的 uploadSparkJobJar() API 有关。

org.khaleesi.carfield.tools.sparkjobserver.api.SparkJobServerClientException: Spark Job Server http://sparkjobserverhost:8090/ response 404 { "status": "ERROR", "result": "classPath org.kritek.scalability.jobs.未找到 Olap1" }

这是我的代码:

0 投票
1 回答
397 浏览

spark-jobserver - 如何查询 Spark JobServer 并找到它存储我的罐子的位置?

我正在尝试遵循此文档:

https://github.com/spark-jobserver/spark-jobserver#dependency-jars

文档中列出的选项 2 说:

提交作业时,也可以在作业配置参数中使用dependent-jar-uris。在 ad-hoc 上下文中,这与dependent-jar-uris 上下文配置参数具有相同的效果。在持久上下文中,将为当前作业加载 jar,然后为将在持久上下文上执行的每个作业加载 jar。curl -d "" 'localhost:8090/contexts/test-context?num-cpu-cores=4&memory-per-node=512m' OK⏎ curl 'localhost:8090/jobs?appName=test&classPath=spark.jobserver.WordCountExample&context= test-context&sync=true' -d'{dependent-jar-uris = ["file:///myjars/deps01.jar", "file:///myjars/deps02.jar"], input.string = "abcab请参阅“}' 罐子 /myjars/deps01.jar 和 /myjars/deps02。

“file:///myjars/”目录是 SJS 节点的 JAR 目录还是一些自定义目录?

我在 Windows 机器上有一个客户端,在 Linux 机器上有一个 Spark JobServer。接下来,我将一个 JAR 上传到 SJS 节点。SJS 节点将那个 Jar 放在某处。然后,当我调用启动 Job 并设置“dependent-jar-uris”时,SJS 节点将找到我之前上传的 JAR 并运行该作业:

“dependent-jar-uris”设置为“file:///tmp/spark-jobserver/filedao/data/simpleJobxxxxxx.jar”

这很好用,但我必须手动搜索 SJS 节点以找到该位置(例如 file:///tmp/spark-jobserver/filedao/data/simpleJobxxxxxx.jar),然后将其添加到我未来的请求中以开始工作。

相反,如何从客户端进行 REST 调用以获取 Spark JobServer 在我上传 jar 时放置它们的路径,以便我可以在“dependent-jar-uris”中正确设置 file:/// 路径动态属性?

0 投票
1 回答
1439 浏览

spark-jobserver - 如何使用 Spark-Jobserver 配置 FAIR 调度程序?

当我同时发布作业服务器请求时,它们似乎总是以 FIFO 模式处理。尽管我尽最大努力启用 FAIR 调度程序。如何确保始终并行处理我的请求?

背景:在我的集群上,有一个 SparkContext,用户可以向其发布请求以处理数据。每个请求可能作用于不同的数据块,但操作始终相同。一分钟的小工作不必等待一小时的大工作完成。

直觉上,我预计会发生以下情况(请参阅下面的配置):上下文在 FAIR 池中运行。每次用户发送处理某些数据的请求时,Spark 都应该拆分公平池并提供一小部分集群资源来处理该新请求。然后每个请求以 FIFO 模式运行,与任何其他并发请求并行。

以下是我同时运行作业时实际发生的情况:界面显示“1 Fair Scheduler Pools”,并列出了一个名为“default”的活动 (FIFO) 池。似乎一切都在同一个 FIFO 池中执行,该池本身在 FAIR 池中单独运行。我可以看到我的公平池详细信息已在 Spark 的环境页面上正确加载,但我的请求都以 FIFO 方式处理。

如何配置我的环境/应用程序,以便每个请求实际上与其他请求并行运行?我是否需要为每个请求创建单独的上下文?我是否在我的 FAIR 池中创建任意数量的相同 FIFO 池,然后每次发出请求时以某种方式选择一个空池?考虑到 Jobserver 的目标,似乎这一切都应该是自动的,而且设置起来并不复杂。以下是我的配置中的一些细节,以防我犯了一个简单的错误。

来自 local.conf:

从 scheduler.xml:

感谢您的任何想法或指示。很抱歉与术语混淆 - “工作”一词在工作服务器中有两个含义。

0 投票
1 回答
309 浏览

json - 无法解析字符!火花作业服务器中的参数

我正在尝试使用 json 格式的输入在 spark 作业服务器中提交 spark 作业。但是在我的情况下,其中一个值包含“!” 字符,这不允许我解析它。这是我的输入和响应。

输入

回复

“test.input2”的值已经在双引号中。我尝试添加单引号/双引号,但仍然没有用。任何想法我该如何解析它。

谢谢

0 投票
1 回答
92 浏览

apache-spark - Spark 作业服务器在哪里寻找 Spark?

我从 github 克隆了 spark 作业服务器并运行 sbt 和 sbt job-server-tests/package 并重新启动。我运行了 WordCountExample。我的问题是: 1. 作业服务器在哪里寻找基本 Spark jar 来运行作业?或者它有自己的版本。2. 我在运行作业服务器的机器上运行 Spark 2.0。github 文档说支持的 Spark 版本是 1.6.2。知道我是否可以将它与 2.0 一起使用(当然风险自负)。有没有人试过这个?

0 投票
0 回答
382 浏览

apache-spark - 使用 Spark Dataset API+案例类+Spark Job Server 时的 ClassCastException

每当我重新创建(删除和创建上下文)Spark SQL 上下文并第二次运行作业时,我都会遇到奇怪的错误,或者在它总是抛出这个异常之后。

我的火花课:

我在用着:

  • 火花 1.6.1
  • Spark 作业服务器 0.6.2 (docker)
0 投票
1 回答
239 浏览

node.js - Spark 作业服务器的节点 Http Post 参数

以下 curl 命令完美地调用、传递参数和执行我的“jobified”火花程序

这是火花程序

我需要在 node.js 中做一个 http 帖子,而不是 curl 命令。这是我所拥有的

但是,上面的脚本不起作用。我错过了什么吗?谢谢!

编辑1:

我得到一个解析错误

0 投票
1 回答
124 浏览

scala - Spark Job Server 中 NamedObjects 的持久性

我使用最新的 SJS 版本(主),应用程序扩展了 SparkHiveJob。在 runJob 实现中,我有以下内容

我想坚持 eDF1 并尝试了以下

发生以下编译错误的地方

显然这是错误的,但我不知道出了什么问题。我对 Scala 还很陌生。

有人可以帮助我从 NamedObjectSupport 中理解这种语法吗?

0 投票
1 回答
60 浏览

scala - 在 Spark 作业服务器上调用程序的 Scala 运行时错误

我使用 spark 1.6.2 和 Scala 11.8 来编译我的项目。生成的带有依赖项的 uber jar 放置在 Spark Job Server 中(似乎使用 Scala 10.4(.sh 文件中指定的 SCALA_VERSION=2.10.4)

启动服务器,上传 context/app jars 没有问题。但是在运行时,会出现以下错误

为什么 Scala 2.11 和带有扇贝的 Spark 会导致“java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror”?谈论使用 Scala 10 编译源代码。这是真的吗?

有什么建议请...

0 投票
2 回答
160 浏览

apache-spark-sql - 如何使用 Spark 作业服务器中的 NamedDataFrame

我在我的项目中使用了 SJS,并想知道 SJS 的 NamedDataFrame 是如何工作的。我的第一个程序是这样做的

我的第二个程序这样做是为了检索 DataFrame。

在这里我只能使用 Option。我必须如何将 NamedDataFrame 转换为 Spark DataFrame?

是否有类似的东西可用?

谢谢!!

Edit1:准确地说,没有 SJS 持久性,这可以在 df 上完成

如何从保存的 namedObject 执行相同的操作?