Невозможно запустить сбор после использования reduByKey () - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь изучить Pyspark, и я не могу запустить основную программу, и я не могу понять, в чем проблема. когда я пытаюсь вызвать сбор на м он печатает, как положено положить не могу вызвать сбор на с.

import findspark
findspark.init()
from pyspark.sql import SparkSession
from pyspark import SparkContext
from array import array
from functools import reduce
import numpy as np 
from __future__ import print_function
sc = SparkContext.getOrCreate()
def f(x):
    temp  = {}
    y=0
    for i in range(0, len(x)):
        for j in range( i+1 , len(x)):
            if( x[i][0] == x[j][0]):
                #print(j,i)
                y = y+1

        temp2 = {x[i][0]: y}
        if x[i][0] in temp.keys():

            y=0
            continue
        temp.update(temp2)
        y=0       
    return temp           


t  = (("Tim","bob") , ("kevin", "bob") , ("viki", "tom") , ("mahesh" , "viki") , ("ramesh", "tom") )
rdd = sc.parallelize(t)

m = rdd.map(lambda x : (x[1],x[0]))
s = m.reduceByKey(lambda x: x)
print(s.collect())
#s = m.collect()
sc.stop()

Py4JJavaError: Произошла ошибка при вызове z: org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задание 1 на этапе 2.0 не выполнено 1 раз, последний сбой: потерянное задание 1.0 на этапе 2.0 (TID 3, localhost, драйвер исполнителя): org.apache.spark.api.python.PythonException: трассировка (последний вызов был последним): файл "/content/spark-2.4.4-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/worker.py", строка 377,в основном процессе ()

1 Ответ

0 голосов
/ 27 октября 2019

Предложить это:

s = m.reduceByKey(lambda x,y: x+y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...