Pyspark, конвертирующий dataframe в rdd и split - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть фрейм данных, и я преобразовал его в rdd, но когда я применил функцию split, я получил сообщение об ошибке

Вот мой фрейм данных

df = spark.createDataFrame([(1, '2013-07-25 00:00:00.0',100,'CLOSED'),
                        (2, '2013-07-25 12:23:00.0',200,'PENDING PAYMENT'),
                        (3, '2013-07-25 03:30:00.0',400,'PENDING PAYMENT'),
                        (4, '2013-07-25 12:23:00.0',50,'COMPLETE'),
                        (5, '2013-07-25 12:23:00.0',50,'CLOSED'),
                        (6, '2013-07-26 02:00:00.0',300,'CLOSED'),
                        (7, '2013-07-26 6:23:00.0',10,'PENDING PAYMENT'),
                        (8, '2013-07-26 03:30:00.0',5,'PENDING PAYMENT'),
                        (9, '2013-07-26 2:23:00.0',20,'COMPLETE'),
                        (10,'2013-07-26 1:23:00.0',30,'CLOSED')],
                        ['Id', 'Date', 'Total', 'Transaction'])

Я преобразовал в список и RDD

rdd = df.rdd.map(list).collect()
rdd_df=sc.parallelize(rdd)

Затем примените

 rdd_df.map(lambda z: z.split(","))

"AttributeError: у объекта 'list' нет атрибута 'split'"

Но rdd_df - это не список, давайте проверим

type(rdd_df)
pyspark.rdd.RDD

В чем может быть проблема? Я хотел бы отобразить и добавить столбец 3. Желаемый вывод будет выглядеть так:

  (PENDING PAYMENT,4),(COMPLETE,2),(CLOSED,4)

Спасибо.

...