Windows 8.1下 Spark的学习

本文详细介绍了在Windows系统中使用Spark进行大数据处理的方法,包括下载安装、配置日志、运行PySpark shell及解决常见错误。通过调整log4j.properties文件降低日志输出干扰,并使用spark-submit命令执行自定义代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近big data要用到spark。但是spark在windows上面会比较的麻烦,于是才有了前面那篇双系统的文章。但是最后还是没成功,只好硬着头皮回来再windows下操作spark。


    运行

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    首先是运行,去spark官网上面下载http://spark.apache.org/downloads.html,package type选择pre-built for hadoop。下载,解压缩。保证你电脑里面有python和java的编译环境。(在命令行里分别输入python和java -version,如果显示版本说明可以,如果没有请自行下载安装。)然后才命令行里面直接就可以运行。我是用的pyspark,是对应python的。命令如下D:\spark-1.2.1-bin-hadoop2.4>bin\pyspark。我是进入spark-1.2.1-bin-hadoop2.4里边输入bin、pyspark运行的,进入到bin里面一样。

    然后你会发现,spark输出它的调用过程,非常干扰视觉效果。一般结果就一行,过程数十行,根本找不到好吗!进入spark-1.2.1的conf文件,复制log4j.properties.template,更名为log4j.properties(没错这个文件看起来好像很奇怪),把里面的第一行改成WARN:

# Set everything to be logged to the console
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

保存,退出,搞定。


    spark-submit

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    pyspark的shell很不方便,一般我们还是用spark-submit来运行我们自己写的代码。这里注意,如果要调用SparkContext的话,要先建立一个object参见http://spark.apache.org/docs/1.2.1/programming-guide.html。在本地运行的话,setMaster('local')。

    当你submit的时候,问题来了,报错:ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

    解决方案:

    1. 下载,https://github.com/srccodes/hadoop-common-2.2.0-bin/archive/master.zip 解压缩。

    2. 编辑/bin/spark-class2.cmd。在最后一段添加路径:-Dhadoop.home.dir=D:\winutils\。我是把下载下来的bin文件放在了winutils里面,反正就是下载下来的哪个bin文件所在的路径,注意这里千万不能是winutils\bin。保存,搞定。

if not [%SPARK_SUBMIT_BOOTSTRAP_DRIVER%] == [] (
  set SPARK_CLASS=1
  "%RUNNER%" -Dhadoop.home.dir=D:\winutils\ org.apache.spark.deploy.SparkSubmitDriverBootstrapper %BOOTSTRAP_ARGS%
) else (
  "%RUNNER%" -Dhadoop.home.dir=D:\winutils\ -cp "%CLASSPATH%" %JAVA_OPTS% %*
)
:exit

    如果还是报错,请添加环境变量HADOOP_HOME, bin文件路径到系统里,最好在系统变量path里加上。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值