尝试加载一个 jar 和一个外部 class

Trying to load a jar and an external class

在我的 zeppelin-env.sh 中,我正在加载一个 JDBC MySQL 连接器作为 jar,如下所示

export ZEPPELIN_JAVA_OPTS+=" -Dspark.jars=/usr/local/opt/mysql-connector-java/libexec/mysql-connector-java-5.1.32-bin.jar"

此外,我想加载应该以 2 种(或更多)方式工作的 Databricks CSV 包:

  1. %dep z.load("com.databricks:spark-csv_2.10:1.2.0")
  2. export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0"

第一个在设置 no SPARK_HOME 时有效,但是 SPARK_SUBMIT_OPTIONS 仅在外部 Spark home 时才被考虑是集。

如何在不设置 SPARK_HOME 的情况下加载数据块 CSV 包 ,或者如何加载在使用嵌入式 Spark 库时包含的所有其他 jar , 没有设置 SPARK_HOME?

我实际上更喜欢使用单独的 Spark 安装,我可以独立于 Zeppelin 进行更新,但是我担心在坚持使用嵌入式 Spark 时不会出现不兼容问题。

所以我确实设置了 SPARK_HOME 使用外部 Spark 安装,这看起来更快并且非常容易安装 w/ brew install apache-spark

Reading the documentation would have helped I guess

只需在指定要加载的 JAR 的 SPARK_SUBMIT_OPTIONS 中添加一个 --jars 选项。或者,创建一个 SPARK_HOME/conf/spark-defaults.conf 文件,您可以在其中指定要加载的文件、包和 jar。