将 MySQL 和 PostgreSQL 连接器添加到 Apache Spark 环境
Adding MySQL and PostgreSQL connectors to Apache Spark environment
在我的程序中,我需要 MySQL 和 PostgreSQL 连接器。
我已经下载了两个连接器,我可以 运行 一个一个地下载它们;当我尝试 运行 两个连接器时,我都失败了。
我 运行 只有 MySQL 连接器使用此命令:
./spark-submit --driver-class-path /home/mysql-connector-java-5.1.37-bin.jar --class learner.run.package --master local[8] --executor-memory 8G /home/project_2.10-1.0.jar
当我想将 PostgreSQL 连接器添加到我的 class 路径时,我用 --jars
选项重新安排了我的命令:
./spark-submit --master local[8] --executor-memory 8G --class learner.run.package --driver-class-path --jars /home/postgresql-9.4.1208.jre6.jar /home/mysql-connector-java-5.1.37-bin.jar /home/merve/Desktop/v1/target/scala-2.10/project_2.10-1.0.jar
但是它给了我这个错误:
java.lang.ClassNotFoundException: learner.run.package
我还尝试通过将以下行添加到 spark-env.sh 来将这些连接器添加到 spark class 路径:
SPARK_CLASSPATH= /home/mysql-connector-java-5.1.37-bin.jar
但找不到 MySQL 连接器。
最后我尝试了 .setJars()
选项,但它也没有用。
如何 运行 使用这两个连接器进行 spark-submit 或者如何将这些连接器添加到 class-path?
几个问题:
--driver-class-path
要用标点符号隔开(:
)
--jars
应该用逗号分隔 (,
)
- 两者都应该单独通过(你不能这样做
--driver-class-path --jars some-path
)。
spark-submit --driver-class-path some-path:another-path \
--jars some-path,another-path
...
在我的程序中,我需要 MySQL 和 PostgreSQL 连接器。 我已经下载了两个连接器,我可以 运行 一个一个地下载它们;当我尝试 运行 两个连接器时,我都失败了。
我 运行 只有 MySQL 连接器使用此命令:
./spark-submit --driver-class-path /home/mysql-connector-java-5.1.37-bin.jar --class learner.run.package --master local[8] --executor-memory 8G /home/project_2.10-1.0.jar
当我想将 PostgreSQL 连接器添加到我的 class 路径时,我用 --jars
选项重新安排了我的命令:
./spark-submit --master local[8] --executor-memory 8G --class learner.run.package --driver-class-path --jars /home/postgresql-9.4.1208.jre6.jar /home/mysql-connector-java-5.1.37-bin.jar /home/merve/Desktop/v1/target/scala-2.10/project_2.10-1.0.jar
但是它给了我这个错误:
java.lang.ClassNotFoundException: learner.run.package
我还尝试通过将以下行添加到 spark-env.sh 来将这些连接器添加到 spark class 路径:
SPARK_CLASSPATH= /home/mysql-connector-java-5.1.37-bin.jar
但找不到 MySQL 连接器。
最后我尝试了 .setJars()
选项,但它也没有用。
如何 运行 使用这两个连接器进行 spark-submit 或者如何将这些连接器添加到 class-path?
几个问题:
--driver-class-path
要用标点符号隔开(:
)--jars
应该用逗号分隔 (,
)- 两者都应该单独通过(你不能这样做
--driver-class-path --jars some-path
)。
spark-submit --driver-class-path some-path:another-path \
--jars some-path,another-path
...