Я пытаюсь выполнить пример, чтобы найти друзей с python 3 и pyspark
from pyspark import SparkContext, SparkConf
file = "D:\\jsonFIle\\Live.txt"
out_file = "D:\\jsonFIle\\friends.txt"
conf = SparkConf().setAppName("Common Friends").setMaster("local").set("spark.driver.memory", "5g")
#sc = SparkContext(conf=conf)
sc = SparkContext.getOrCreate()
f = sc.textFile(file)
def check(line):
if len(line.split()) > 1:
return len((line.split())[1].split(',')) > 1
return False
adlists = f.filter(check).map(lambda line: line.split()).persist()
adlists = adlists.map(lambda l: (l[0], l[1].split(','))).persist()
def form_pairs(tup):
l = []
for elem1 in tup[1]:
for elem2 in tup[1]:
if elem1 < elem2:
l.append(((elem1, elem2), 1))
return l
pairs = adlists.flatMap(form_pairs)
cf = pairs.reduceByKey(lambda x,y: x + y)
sim = sorted(cf.collect())
out = open(out_file, "w")
for tuple in sim:
s = str(tuple[0][0]) + "," + str(tuple[0][1]) + "\t" + str(tuple[1]) + "\n"
out.write(s)
out.close()
print("done")
Это пример, поэтому я знаю, что это должно сработать.Я установил pyspark, следуя инструкциям онлайн https://medium.com/@GalarnykMichael/install-spark-on-windows-pyspark-4498a5d8d66c
, и если я запускаю по приглашению anaconda "pyspark", запускаю сразу jupyter, а при импорте pyspark у меня не возникает никаких проблем.
в приглашении anaconda я вижу этот журнал
[IPKernelApp] WARNING | Unknown error in handling PYTHONSTARTUP file C:\opt\spark\spark-2.2.2-bin-hadoop2.7\python\pyspark\shell.py:
[I 21:47:47.447 NotebookApp] Adapting to protocol v5.1 for kernel 6d4c3d50-648f-4d2d-858b-5df642386e14
[Stage 0:=========================> (15 + 8) / 33][I 21:49:28.441 NotebookApp] Saving file at /Downloads/ProvaSpark.ipynb
[I 21:51:28.434 NotebookApp] Saving file at /Downloads/ProvaSpark.ipynb
[Stage 2:===> (2 + 8) / 33][I 22:03:28.929 NotebookApp] Saving file at /Downloads/ProvaSpark.ipynb
[I 22:05:28.916 NotebookApp] Saving file at /Downloads/ProvaSpark.ipynb
[I 22:09:28.917 NotebookApp] Saving file at /Downloads/ProvaSpark.ipynb
Я вижу во время выполнения, что этапы 0 и 2 увеличиваются во время вычислений и при завершении финиша.Мой выходной файл пуст, и я не понимаю, почему.
Мой друг пытается на своем компьютере, и работает, но иногда имеет ошибку и должен перезапустить ядро Jupyter и выполнить больше времени, прежде чем иметь правильные вычисления.
Есть предложения?