首页 > 解决方案 > 在 Spark 中使用 Scala 内核

问题描述

我在从 Spark 访问 S3 数据时遇到问题。我已经spylon-kernel安装了JupyterHub(这是带有 Spark 框架集成的 Scala 内核)。它使用pyspark. 不幸的是,最新的 pyspark 仍然使用hadoop-2.7.3库。当我尝试访问法兰克福地区的 S3 存储桶时,出现以下 Java 异常:

com.amazonaws.services.s3.model.AmazonS3Exception:状态代码:400,AWS 服务:Amazon S3,AWS 请求 ID:xxxxxxxxxx,AWS 错误代码:null,AWS 错误消息:错误请求

从我的研究来看,这似乎是个hadoop 2.7.3问题。对于较新的版本(3.1.1),它在本地运行良好,但pyspark使用这些hadoop 2.7.3jar 并且看起来无法更改。我能做点什么吗?也许有一些方法可以告诉pyspark使用hadoop 3.1.1罐子?或者,也许还有其他带有 Spark 的 Scala 内核Jupyterhub用于spark-shell代替pyspark?

标签: javascalahadoopamazon-s3pyspark

解决方案


好的,我终于修好了......我会发布一个答案,也许它会对某人有用。

pip install toree

jupyter toree install --spark_home /path/to/your/spark/ --interpreters=Scala

这个有效!:)


推荐阅读