我是新手,我的理解是:
- jar 就像一堆 java 代码文件
- 我安装的每个内部使用 spark(或 pyspark)的库都有自己的 jar 文件,驱动程序和执行程序都需要这些 jar 文件,以便它们执行与用户交互的包 API 调用。这些 jar 文件就像那些 API 调用的后端代码
问题:
- 为什么需要这些 jar 文件。为什么在 python 中拥有所有代码还不够?(我想答案是最初 Spark 是用 scala 编写的,它在那里将其依赖项作为 jar 分发。因此不必再次创建该代码库山,python 库只需通过一些转换 java 代码的转换器在 python 解释器中调用该 javacode到等效的python代码。请如果我理解正确)
spark.driver.extraClassPath
您可以在通过和创建 spark 上下文时指定这些 jar 文件的位置spark.executor.extraClassPath
。虽然我猜这些都是过时的参数。指定这些 jar 文件位置的最新方法是什么?- 我在哪里可以找到我安装的每个库的这些 jar?例如突触。关于包的 jar 文件所在位置的一般想法是什么?为什么这些库不明确它们的特定 jar 文件将在哪里?
我知道我在这里可能没有意义,我上面提到的部分只是我的预感,那就是它一定会发生。
那么,你能帮我理解一下这个关于罐子的整个业务,以及如何找到和指定它们吗?