我是PySpark的初学者,最近我尝试向我的Spark集群提交一个简单的python应用程序(批量调整大小图片).我可以成功地通过pycharm运行该应用程序,并且当我将应用程序提交给spark时,图像的大小也会随之调整.
这是我原来的Python代码:
import os
from PIL import Image
size_64 = (64,64)
for f in os.listdir('.')
if f.endswith('.jpg'):
i = Image.open(f)
fn, fext = os.path.splitext(f)
i.thumbnail(size_64)
i.save('resize/{}_64'.format(fn, fext))
然后我将其转换为我认为可以正确提交python应用程序的方式:
import os
from PIL import Image
from pyspark import SparkContext, SparkConf
APP_NAME = "ImageResizer"
def main(sc):
size_64 = (64,64)
for f in os.listdir('.')
if f.endswith('.jpg'):
i = Image.open(f)
fn, fext = os.path.splitext(f)
i.thumbnail(size_64)
i.save('resize/{}_64'.format(fn, fext))
print 'done'
if __name__ == "__main__":
conf = SparkConf().setAppName(APP_NAME)
conf = conf.setMaster("spark://10.233.70.48:7077")
sc = SparkContext(conf=conf)
main(sc)
但是,有人告诉我我实际上根本没有使用spark(我也这样认为,但我只是不知道如何使用).我想知道如何将原始代码正确转换为Pyspark方式.
熟悉pyspark的人可以帮助我吗?关于如何正确,系统地学习如何编写PySpark应用程序的任何建议?
谢谢