到目前为止我尝试过的那些
Almond:仅适用于 Scala,但您必须导入依赖项,并且一段时间后会变得乏味。不幸的是,当使用带有 YARN 而不是 Local 的 Spark 时无法运行。
Spylon-kernel:内核连接,但卡在初始化阶段。
Apache Toree:如果它有效,我会非常喜欢它。大量的语言支持,魔法,由 apache 孵化。但是,这个内核没有连接。卡在“内核连接”阶段。
我们永远不会像 Jupyter 那样自由灵活地运行 Spark 吗?
这是什么诅咒?
到目前为止我尝试过的那些
Almond:仅适用于 Scala,但您必须导入依赖项,并且一段时间后会变得乏味。不幸的是,当使用带有 YARN 而不是 Local 的 Spark 时无法运行。
Spylon-kernel:内核连接,但卡在初始化阶段。
Apache Toree:如果它有效,我会非常喜欢它。大量的语言支持,魔法,由 apache 孵化。但是,这个内核没有连接。卡在“内核连接”阶段。
我们永远不会像 Jupyter 那样自由灵活地运行 Spark 吗?
这是什么诅咒?
我正在使用杏仁和 toree。为了只执行 scala 代码,我使用的是 almond。如果你想学习 Scala 的新特性(例如:2.13),那么使用 almond(在 almond v0.11.0 中添加 Scala 2.13.4 支持)。一旦发布,Almond 可能会开始支持 scala 3.0。
对于火花,我正在使用 toree。Toree 对我来说很好用。我正在使用 toree 0.5.0 和 spark 3.0.0。Toree 使用 scala 2.12。
首先按照此处提供的步骤安装 spark 3.0.0 。安装后检查您是否能够从终端启动 spark shell。
#toree installation
#I used poetry for managing deps in virtual environment
pip install https://dist.apache.org/repos/dist/dev/incubator/toree/0.5.0-incubating-rc1/toree-pip/toree-0.5.0.tar.gz
# I installed/copied extracted spark binaries to /opt/spark
jupyter toree install --user --kernel_name=toree --spark_home=/opt/spark
通过这些步骤,您应该会找到添加到~$HOME/.local/share/jupyter/kernels/
. 启动 jupyter notebook,您应该能够在尝试创建新 notebook 时找到列出的toree内核。您还可以执行jupyter kernelspec list
以查看是否列出了新内核。
如果您能够创建一个新笔记本,那么您应该初始化内核而没有任何问题。尝试执行println("Hello world")
,应该会成功。