【发布时间】:2019-02-06 14:28:21
【问题描述】:
我创建了一个包含本地 maven 存储库的 aws AMI,它位于 /usr/local/
然后我使用该 AMI 使用 spark 和 zeppelin 创建 AWS EMR 集群。
当我使用 pyspark --packages 导入 jar 包时,EMR 实例会在 /home/hadoop 中创建一个 .ivy 目录。 Zeppellin 将在 /var/lib/zeppelin/local-repo 中创建一个以 ID 作为名称的目录
如何让 pyspark、spark 和 zeppelin 使用我的本地 maven 存储库 (/usr/local/.m2/repository) 而不是创建 .ivy 目录并从 mave Central 下载 jar?
我知道我可以使用pyspark --jars /local/path/to/jar.jar 从本地路径导入 jar 并复制到 .ivy 目录,但我宁愿使用 spark 和 zeppelin 来使用我的本地 maven 存储库。
此外,如果我在 spark-default.conf 中设置 spark.driver.extraClassPath 和 spark.executor.extraClassPath /usr/local/.m2/repository/*,将能够在这些目录中查找 jars(因为 inisde 目录没有直接包含 .jar,例如 /usr/local/.m2/repository/groupId/artifactId/version/name.jar)
【问题讨论】:
标签: maven apache-spark amazon-emr apache-zeppelin