如何从spark submit Python代码中安装自定义Python库

如何从spark submit Python代码中安装自定义Python库,python,apache-spark,Python,Apache Spark,我希望能够运行一个命令,比如spark submit test\u file.py--dependencies=adobe\u analytics,它执行以下任务 安装在依赖项参数中传递的库 使这些库在使用Spark submit命令运行的Spark会话中可用 我的test_file.py如下所示- from pyspark.sql import SparkSession # import all libraries here from adobe_analytics import Clien

我希望能够运行一个命令,比如
spark submit test\u file.py--dependencies=adobe\u analytics
,它执行以下任务

  • 安装在
    依赖项
    参数中传递的库
  • 使这些库在使用
    Spark submit
    命令运行的Spark会话中可用
  • 我的
    test_file.py
    如下所示-

    from pyspark.sql import SparkSession
    # import all libraries here 
    from adobe_analytics import Client
    spark = SparkSession.builder.master("yarn").appName("myapp").enableHiveSupport().getOrCreate()
    #.... more logic
    
    我在GoogleDataProc集群上运行了这段代码。这是我需要安装的自定义库的链接-


    解决此问题的最佳方法是什么?

    我不确定是否正确理解了您的意思,但我在一个项目中遇到了类似的问题,我们的解决方法是压缩自定义库并通过spark submit命令上的参数传递它:

    spark-submit --py-files libs/customlib.zip file.py
    

    感谢您的回答,但是没有其他方法可以做到这一点吗?您可以在集群本身上安装,但请记住,您必须在主节点和从节点上安装。我和我的团队没有在集群目录上安装资源的权限,所以我们必须通过--py文件来传递它