Как обрабатывать исключения в pyspark, когда данные имеют неправильный порядок? - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю небольшой RDD из неупорядоченных данных.Он не имеет одинакового количества столбцов в каждой строке.Поэтому я принимаю его как тип кортежа с максимальным индексом строки.

У меня возникают проблемы при доступе к кортежу [4], кортежу [9], так как некоторые строки не имеют 9 индексов, в этом случае яхочешь скинуть исключение и остаться таким же?Как мы можем добиться этого в pyspark?

data=sc.textFile("D:\\USA.csv")

try:
  order=data.map(lambda l:l.split(",")).map(lambda l: (l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8]))

  order.map(lambda l:(l[0],l[1])).foreach(print)

 except Exception as e:
   print(e)

Ошибка:

return f (* args, ** kwargs)
Файл "E: \ pyspark_eclipse \ PySpark \"org \ pyspark \ PySparkRDD.py ", строка 11, в
order = data.map (lambda l: l.split (", ")). map (лямбда l: (l [0], l [1]), l [2], l [3], l [4], l [5], l [6], l [7], l [8])) IndexError: индекс списка вне диапазона

...