如何使用 *local* 包 运行 激发 shell?

How to run spark shell with *local* packages?

此处的页面 (http://spark.apache.org/docs/latest/programming-guide.html) 表示当 shell 通过以下方式启动时可以包含包:

$SPARK_HOME/bin/spark-shell --packages com.databricks:spark-csv_2.11:1.4.0

包含本地包(比如手动下载)的语法是什么?与 Maven 坐标有关?

如果 jars 存在于 master/workers,您只需在 spark-submit 的类路径中指定它们:

spark-shell \
spark.driver.extraClassPath="/path/to/jar/spark-csv_2.11.jar" \
spark.executor.extraClassPath="spark-csv_2.11.jar"

如果 jars 仅存在于 Master 中,并且您希望将它们发送给 worker(仅适用于客户端模式),您可以添加 --jars 标志:

spark-shell \
spark.driver.extraClassPath="/path/to/jar/spark-csv_2.11.jar" \
spark.executor.extraClassPath="spark-csv_2.11.jar" \
--jars "/path/to/jar/jary.jar:/path/to/other/other.jar"

有关更详细的答案,请参阅

请使用:

./spark-shell --jars my_jars_to_be_included

有一个与此相关的悬而未决的问题:请查看 this question