如何在spark中提交一个python应用程序

本文是参考官网,并在centos上执行成功后的记录。展示如何使用Python API(PySpark)编写应用程序。

按照官网示例,创建一个简单的Spark应用程序SimpleApp.py

"""SimpleApp.py"""
from pyspark.sql import SparkSession

logFile = "README.md"  # 我指定的是自己上传到hdfs的README.md文件
spark = SparkSession.builder.appName('MySimpleApp').master('local').getOrCre
ate()
logData = spark.read.text(logFile).cache()

numAs = logData.filter(logData.value.contains('spark')).count()
numBs = logData.filter(logData.value.contains('as')).count()

print("Lines with spark: %i, lines with as: %i" % (numAs, numBs))

spark.stop()

该程序只计算文本文件中包含“ spark”的行数和包含“ as”的行数。注意,您需要用你自己logfile。这里使用SparkSession创建数据集。对于使用自定义类或第三方库的应用程序,我们还可以spark-submit通过将其--py-files打包到.zip文件中来通过其参数添加代码依赖项(spark-submit --help有关详细信息,请参见)。 SimpleApp非常简单,我们不需要指定任何代码依赖项。

我们可以使用以下bin/spark2-submit脚本运行此应用程序:

# Use spark-submit to run your application
$spark2-submit --master local[4]  SimpleApp.py
注意显示结果会很多,你只需要查看结果里是否有你打印的内容,比如我的是:
...
Lines with spark: 17, lines with as: 20


发表评论

电子邮件地址不会被公开。 必填项已用*标注