apache-spark - 如何在执行器中获取工作目录

标签 apache-spark spark-streaming

我正在使用下面的命令来提交 Spark 作业,我希望将 jar 和配置文件发送到每个执行器并加载到那里

spark-submit --verbose \
--files=/tmp/metrics.properties \ 
--jars /tmp/datainsights-metrics-source-assembly-1.0.jar \ 
--total-executor-cores 4\
--conf "spark.metrics.conf=metrics.properties" \
--conf "spark.executor.extraClassPath=datainsights-metrics-source-assembly-1.0.jar"  \
--class org.microsoft.ofe.datainsights.StartServiceSignalPipeline \
./target/datainsights-1.0-jar-with-dependencies.jar

--files和--jars是用来给executor发送文件的,我发现文件都是像'worker/app-xxxxx-xxxx/0/这样发送到executor的工作目录

但是当作业运行时,执行程序总是抛出异常,说它找不到文件“metrics.properties”或“datainsights-metrics-source-assembly-1.0.jar”中包含的类。看起来这个工作是在另一个目录而不是工作目录下寻找文件。

你知道如何加载发送给执行者的文件吗?

这是跟踪(类“org.apache.spark.metrics.PerfCounterSource”包含在 jar“datainsights-metrics-source-assembly-1.0.jar”中):

ERROR 2016-01-14 16:10:32 Logging.scala:96 - org.apache.spark.metrics.MetricsSystem: Source class org.apache.spark.metrics.PerfCounterSource cannot be instantiated
java.lang.ClassNotFoundException: org.apache.spark.metrics.PerfCounterSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_80]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_80]
at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_80]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_80]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_80]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_80]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_80]
at java.lang.Class.forName0(Native Method) ~[na:1.7.0_80]
at java.lang.Class.forName(Class.java:195) ~[na:1.7.0_80]

最佳答案

看起来您的 --jars 参数中有错字,所以它可能实际上并没有加载文件并继续静默。

关于apache-spark - 如何在执行器中获取工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771119/

相关文章:

apache-spark - 在 Spark Streaming 中缓存 DStream

python - Spark-submit 在使用 Python 2.7、Java 1.8 的 Windows 10 上给出无效语法错误消息

apache-spark - DynamoDB数据格式以使用Spark计划JSON

scala - 从检查点重新启动后 Spark Streaming 选项卡消失

apache-spark - Spark Streaming Write Ahead Log重启后不重播数据

apache-spark - Spark Streaming 加入 Kafka 主题对比

apache-spark - 如何配置检查点以重新部署 Spark 流应用程序?

java - 如何在 Hadoop 文件系统中获取绝对路径?

apache-spark - 连接cassandra和spark时出错

java - Spark中如何对分区的内容进行排序?