我是PySpark的初学者,最近我试图将一个简单的python应用程序(批量调整大小的图片)提交给我的Spark集群。我可以通过pycharm成功运行应用程序,并且当我提交我的应用程序以进行spark时,图像也会被调整大小。如何正确地将普通Python应用程序转换为PySpark版本
这是我原来的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)
然而,有人告诉我,我根本没有使用火花(我认为如此,但我不知道如何)。我想知道如何正确地将我的原始代码转换为Pyspark方式。
任何人都可以熟悉pyspark帮助我吗?有什么建议可以正确系统地学习如何编写PySpark应用程序? 谢谢
这是一个错字?:我 - Image.open(F) –
@nfreze是的,对不起。 –