2014-07-10 25 views
16

Kıvılcım kümesindeki her bir düğüm için C derlenmiş modülleri (örneğin, python-Levenshtein) nasıl gönderebilirim? pyshon modüllerini pyspark'ta diğer düğümlere gönderiyor musunuz?

from pyspark import SparkContext 
sc = SparkContext("local", "App Name", pyFiles=['MyFile.py', 'MyOtherFile.py']) 

ama orada durumlarda

'.py' nasıl modül gemi mi hayır:

Ben tek başına bir python komut dosyası (aşağıda örnek kod) kullanılarak kıvılcımla piton dosyalarını yollayabilirsiniz biliyoruz?

cevap

30

Bir .egg veya .zip dosya halinde modül paketi olabilir ederseniz, SparkContext oluştururken pyFiles o liste gerekir (veya sc.addPyFile aracılığıyla daha sonra ekleyebilirsiniz).

Kurulum araçlarını kullanan Python kitaplıkları için, bir yumurta dağıtımı oluşturmak üzere python setup.py bdist_egg'u çalıştırabilirsiniz.

Diğer bir seçenek, kitaplık kümesini, her makinedeki pip/easy_install kullanarak veya küme çapında bir dosya sistemindeki (NFS gibi) bir Python yüklemesini paylaşarak yüklemektir.

+0

Bu işe yaradı! Yukarıdaki komutu kullanarak modül için yumurta dosyasını oluşturabildim ve işlem, pyFiles parametresinde yumurta dosyasını eklemek kadar kolaydı. Güzel şeyler! – mgoldwasser

+0

PySpark'ı .egg bağımlılıklarını yüklemek için herhangi bir öneriniz var mı? * .egg dosyam diğer 3. parti kitaplıklarına bağlıysa, http://stackoverflow.com/questions/32119225/databricks-spark-egg-dependencies-not-installed-automatically – ramhiser

+0

benzer şekilde, bu da işe yarayacak mı? – guilhermecgs

İlgili konular