某内网项目需要测试spark和mongodb联调,因为不能连接外网,所以下载好了相应的jar包扔进去了。
官网给出的事例代码如下:
./bin/pyspark --conf "spark.mongodb.input.uri=mongodb://127.0.0.1/test.myCollection?readPreference=primaryPreferred" \
--conf "spark.mongodb.output.uri=mongodb://127.0.0.1/test.myCollection" \
--packages org.mongodb.spark:mongo-spark-connector_2.11:2.4.0
其中--packages参数后面指定的jar包会自动从maven包中心下载,对于无法连接互联网的机器,会提示错误。
其实,答案很简单,只需要在后面跟上--jars参数就好:
./pyspark --conf "spark.mongodb.input.uri=..."
--conf "spark.mongodb.output.uri=..."
--jars "/path/to/local/xxx.jar"
后面的路径建议使用绝对路径,以防手误。