我正在使用 spark-shell
我无法接听外部 jars
.我跑 spark
在电子病历中。
我运行以下命令:
spark-shell --jars s3://play/emr/release/1.0/code.jar
我收到以下错误:
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0 Warning: Skip remote jar s3://play/emr/release/1.0/code.jar
提前致谢。
最佳答案
这是 Apache Spark 本身的限制,而不是 EMR 上的 Spark。在客户端部署模式下运行 Spark 时(所有交互式 shell,如 spark-shell
或 pyspark
,或 spark-submit
没有 --deploy-mode cluster
或 --master yarn-cluster
),只允许本地 jar 路径。
这样做的原因是为了让 Spark 下载这个远程 jar,它必须已经在运行 Java 代码,此时再将 jar 添加到自己的类路径中为时已晚。
解决方法是在本地下载 jar(使用 AWS S3 CLI),然后在运行 spark-shell 或 spark-submit 时指定本地路径。
关于amazon-s3 - EMR Spark 壳不捡 jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35635291/