在使用spark时,需要在spark-env.cmd中,为环境变量SPARK_DIST_CLASSPATH赋值,赋的值是执行命令“hadoop classpath”的返回结果。
如果是在linux环境下,比较简单,直接
export SPARK_DIST_CLASSPATH=`hadoop classpath `
就可以了。
在dos环境下,需要变通一下,用for语句把执行结果赋给环境变量:
FOR /F %%i IN ('hadoop classpath') DO @set SPARK_DIST_CLASSPATH=%%i
实验环境是win10。注意,for语句用在批处理命令中时,需要连用两个%。
也可以用反引号来把需要执行的命令引起来,这时候,需要加参数usebackq:
FOR /F "usebackq" %%i IN (`hadoop classpath`) DO @set SPARK_DIST_CLASSPATH=%%i