我是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是的,對不起。 –