【发布时间】:2021-11-26 19:16:11
【问题描述】:
我基本上是在寻找一种在 EMR 中进行基于 Spark 的 scala 开发的方法。所以我在 hadoop 集群上有几个项目文件:
// mypackage.scala
package mypackage
<Spark-dependent scala code>
// subpackage.scala
package mypackage.subpackage
def myfunc(x: String) {
...
}
<more Spark-dependent scala code>
我希望能够即时编辑这些脚本,然后将更改导入我的 EMR 笔记本。
// EMR_notebook.ipynb
import mypackage.subpackage.myfunc
val output = myfunc('foo')
我明白了
- 您通常必须先使用 sbt 编译 scala 代码,然后才能使用它,并且
- 将修改后的 scala 代码导入 EMR 笔记本的最佳方法是通过 jarfile,即
%%configure -f
{
"jars": ["s3://path_to_myproject_jarfile.jar"]
}
但这意味着要调试我的包,我必须修改脚本 mypackage.scala 和 subpackage.scala,然后用 sbt 编译,然后上传到 s3,然后重新启动 Spark 内核,这样我就可以重新导入jarfile,然后我才能重新运行我的代码并查看任何更改的效果。所以我希望有一种更有效的方法来处理这种情况。
对任何歧义/scala 文盲表示歉意。谢谢!
【问题讨论】:
标签: scala apache-spark jar sbt amazon-emr