Я пытаюсь запустить функцию pyeeg с файлом RDD, созданным pyspark. Я хочу получить выходные данные функций Pyegg, используя карту искр и методы сокращения.
Я попытался преобразовать RDD и все значения в плавающее для работы с функцией Pyeeg. Тем не менее, я, кажется, получаю ошибки при запуске этого.
Я инициализировал контекст искры, используя приведенный ниже код sc = SparkContext("local")
, и ниже я перебираю свой ввод и создаю «окна», где я буду использовать в качестве ввода для функции pyegg »bin_power». Я создаю файл rdd из каждого окна, а затем пытаюсь отобразить функцию на этот файл rdd. Однако именно здесь я получаю свою ошибку.
Fs = 128 # sampling rate
Band = [0.5, 4, 7, 12, 30, 100] # EEG bands boundary points
data_signal = all_sdd.map(lambda all_sdd:(all_sdd[0]))
data_len = data_signal.count()
data_time = all_sdd.map(lambda all_sdd:(all_sdd[1]))
while end_point < data_len-1:
while end_window < data_len-1 and all_sdd.collect()[end_window][1]==all_sdd.collect()[end_window+1][1]:
end_window = end_window+1
segment = data_signal.take(end_window)[start_point:end_window+1]
rdd_segment = sc.parallelize(segment)
rdd_segment_float = rdd_segment.map(lambda s: (float(s)))
psi.rdd= rdd_segment.map(bin_power(rdd_segment_float,Band,Fs))
#psi.rdd,rir.rdd= rdd_segment.map(bin_power(rdd_segment_float,Band,Fs))
Я запустил это без использования искры и смог получить ожидаемые результаты. Однако, когда я пытаюсь запустить с помощью spark, я получаю эту ошибку.
Ошибка, которую я получаю:
48
49 if n is None:
---> 50 n = a.shape[axis]
51
52 if n < 1:
IndexError: tuple index out of range
Буду признателен за любую помощь или предложения.