Spark学习笔记之一

最近做大数据项目,要用到Hadoop+Spark作为解决方案,因此学习Spark,这里把学习过程中的问题记录一下。

特别声明,因为遇到的问题,基本都有前辈遇到并分享,解决方法大都参考自网络分享,参考引用内容都已标注并在文末附上了出处~ 感谢分享~

问题1:winnutils 未配置

问题描述

程序运行的过程中,报Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executablenull\bin\winutils.exe in the Hadoop binaries.

问题解决 1

出错的原因在于window本地无法获取hadoop的配置。
解决方法:
去GitHub下载

问题2:shell输出INFO日志

问题描述

spark-submit 输出日志把INFO级别日志信息也输出,造成输出内容过多。

问题解决2

解决基本思路:

进入到spark目录/conf文件夹下,此时有一个log4j.properties.template文件,拷贝一份为log4j.properties,打开;

将其中的 log4j.rootCategory=INFO, console中的INFO改为WARN或者ERROR,保存。

完成!

问题3:将jupyter notebook作为pyspark的默认编辑器3

问题描述

安装完spark后,通过pyspark打开spark,默认是直接在cmd中,当然不如在jupyter notebook中打开来得爽~

问题解决

只需要添加两个环境变量:

  • 新建系统变量PYSPARK_DRIVER_PYTHON,值设为 jupyter;
  • 新建系统变量PYSPARK_DRIVER_PYTHON_OPTS,值设为 notebook。

好了,重启电脑(不一定是必须的,可以在一个cmd中修改path,然后重新打开一个cmd ,就可以刷新环境变量~~),打开cmd,输入pyspark,就是以jupyter打开的了~

注意,这时候,在jupyter中自动创建了SparkContext对象sc,不需要自己创建了~否则会报错。


  1. CSDN:解决Hadoop报错:Failed to locate the winutils binary in the hadoop binary path ↩︎

  2. CSDN:解决spark-shell输出日志信息过多 ↩︎

  3. CSDN:在win7下配置pyspark在jupyter notebook中使用的简单方法 ↩︎

猜你喜欢

转载自blog.csdn.net/sunjinshengli/article/details/84147427