spark小事记

来源:互联网 发布:js 判断数组 编辑:程序博客网 时间:2024/05/22 11:53
最近在使用spark的过程中遇到一些小事,特此记录

减少运行过程中INFO信息的输出

  • 刚刚上手spark,发现执行任意一条指令的时候,就会有铺天盖地的INFO信息输出,这样往往会掩盖程序输出的结果。为了解决此问题,我们可以对spark做出如下修改:
cd spark/confmv log4j.properties.template log4j.properties

conf目录下的log4j.properties.template文件改名为log4j.properties之后,只需要将后者内容的INFO全部改为WARN即可大大限制INFO信息的输出,这样程序结果就会更加明显,便于观察

提交任务给spark执行

  • 下面是一个简单的例子
from pyspark import SparkContextlogFile = "README.md"  # Should be some file on your systemsc = SparkContext("local", "Simple App")logData = sc.textFile(logFile).cache()numAs = logData.filter(lambda s: 'a' in s).count()numBs = logData.filter(lambda s: 'b' in s).count()print("Lines with a: %i, lines with b: %i" % (numAs, numBs))
  • 该程序的功能是计数README.md文件中字符ab分别出现的次数

  • simpleApp.pyspark-submit方式提交给spark执行

[zzq@cruise spark]$ ./bin/spark-submit simpleApp.py 15/10/27 22:17:57 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable15/10/27 22:17:59 WARN MetricsSystem: Using default name DAGScheduler for source because spark.app.id is not set.Lines with a: 60, lines with b: 29
  • 以上是程序的运行结果。今后还会对spark进行诸多尝试
0 0