【发布时间】:2020-04-05 00:02:08
【问题描述】:
在 pyspark shell 中包含外部包(jar)的正确方法是什么?
我正在使用 jupyter notebook 中的 pyspark。
我想通过 spark-sql-kafka 库使用 spark 阅读 kafka,如下所述:https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html#deploying。
我正在尝试通过在环境变量PYSPARK_SUBMIT_ARGS 中设置的--packages 选项导入库。
但是
- 我不确定要使用的软件包的确切版本和名称,
- 我不知道我是否还需要包含 spark-streaming,是否必须使用
--repositories指定一些存储库, - 我不知道下载jar并指定本地路径是否更好(它们必须在运行jupyter的机器上,还是在运行yarn的机器上?我正在使用
--master yarn和--deploy-mode client) 或依赖--packages - 我不知道
PYSPARK_SUBMIT_ARGS中pyspark-shell之后指定的选项是否被遗漏(如果我尝试在pyspark-shell之前指定--packages选项,我根本无法实例化火花上下文) - 如何检查某些包是否已正确下载并可供使用
- 我不知道这种下载的jar(或一般的jar)的路径是什么。它们被复制了多少次?他们通过司机吗?如果我使用集群管理器作为 YARN,这些事情会改变吗?如果我在 jupyter notebook 中使用 spark-shell 中的所有内容,它们会改变吗?
目前我阅读的资源:
-
文档和指南:
-
例子:
-
问题和疑问:
-
存储库:
【问题讨论】:
标签: apache-spark pyspark