Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.3.2, 2.4.0
-
None
Description
Command "pyspark --packages" works as expected, but if submitting a livy pyspark job with "spark.jars.packages" config, the downloaded packages are not added to python's sys.path therefore the package is not available to use.
For example, this command works:
pyspark --packages Azure:mmlspark:0.14
However, using Jupyter notebook with sparkmagic kernel to open a pyspark session failed:
%%configure -f {"conf": {spark.jars.packages": "Azure:mmlspark:0.14"}}
import mmlspark
The root cause is that SparkSubmit determines pyspark app by the suffix of primary resource but Livy uses "spark-internal" as the primary resource when calling spark-submit, therefore args.isPython is set to false in SparkSubmit.scala.