【问题标题】:How do we specify maven dependencies in pyspark我们如何在 pyspark 中指定 maven 依赖项
【发布时间】:2021-11-01 21:51:22
【问题描述】:

在启动 spark-submit / pyspark 时,我们可以选择使用 --jars 选项指定 jar 文件。我们如何在 pyspark 中指定 maven 依赖项。在运行 pyspark 应用程序时,我们是否必须一直传递所有 jars 或者有更清洁的方法?

【问题讨论】:

    标签: maven apache-spark pyspark


    【解决方案1】:

    我发现另一种测试/开发非常实用的方法是在脚本中创建 SparkSession,特别是通过添加 config 选项并以这种方式通过 spark.jars.packages 传递 Maven 包依赖项:

    from pyspark.sql import SparkSession
    
    
    spark = SparkSession.builder.master("local[*]")\
            .config('spark.jars.packages', 'groupId:artifactId:version')\
            .getOrCreate()
    

    这将自动从 Maven 存储库下载指定的依赖项(对于以逗号分隔的方式指定的多个包依赖项)(因此请仔细检查您的互联网连接)。

    同样,here 列出的任何其他 Spark 参数都可以传递给 Spark Session。

    完整的 Maven 包列表请参考https://mvnrepository.com/

    【讨论】:

      【解决方案2】:

      根据https://spark.apache.org/docs/latest/submitting-applications.html,可以选择以逗号分隔的Maven坐标列表的形式指定--packages

      ./bin/spark-submit --packages my:awesome:package
      

      【讨论】:

        猜你喜欢
        • 2020-03-22
        • 2011-03-11
        • 2015-08-30
        • 1970-01-01
        • 2016-05-17
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2015-01-16
        相关资源
        最近更新 更多