【问题标题】:How can I configure spark-submit (or DataProc) to download maven dependencies (jars) from GitHub packages?如何配置 spark-submit(或 DataProc)以从 GitHub 包下载 maven 依赖项(jar)?
【发布时间】:2020-06-10 16:30:02
【问题描述】:

我正在尝试让spark-submit(通过 GCP DataProc)从 GitHub 包存储库下载 maven 依赖项。

spark.jars.repositories=https://myuser:mytoken@maven.pkg.github.com/myorg/my-maven-packages-repo/ 添加到spark-submit 命令没有帮助...

访问了正确的 url,但未下载文件 (https://maven.pkg.github.com/myorg/my-maven-packages.repo/myorg/mylibrary/1.0.0/library-1.0.0.jar)。

我怎样才能让它工作? (不使用 uber-jars!)

【问题讨论】:

    标签: apache-spark ivy google-cloud-dataproc spark-submit github-package-registry


    【解决方案1】:

    而不是添加:

    spark.jars.repositories=https://myuser:mytoken@maven.pkg.github.com/myorg/my-maven-packages-repo/spark-submit 命令

    添加:

    --files=gs://my-bucket/github-ivysettings.xml

    spark.jars.ivySettings=github-ivysettings.xml

    将以下文件 (github-ivysettings.xml) 上传到存储桶:

    <ivysettings>  
    
      <settings defaultResolver="default"/>
    
      <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
    
      <credentials
          host="maven.pkg.github.com" realm="GitHub Package Registry"
          username="myuser" passwd="mytoken"
          />
      <resolvers>
          <ibiblio
              name="private-github"
              m2compatible="true" useMavenMetadata="true" usepoms="true"
              root="https://maven.pkg.github.com/myorg/my-maven-packages-repo/"
              pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
          />
        <chain name="default" returnFirst="true" checkmodified="true">
          <resolver ref="local" />
          <resolver ref="shared" />
          <resolver ref="public" />
          <resolver ref="private-github" />
        </chain>
      </resolvers>
    </ivysettings>
    

    这将保留当前的搜索顺序(本地、共享、公共),然后在您的私有存储库中搜索。

    请注意,领域很重要,因此如果您将其用于不同的私有存储库,请更改主机、根目录和领域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 2016-01-11
      • 2015-06-08
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      相关资源
      最近更新 更多