2

Я хотел бы преобразовать pyspark.sql.dataframe.DataFrame в pyspark.rdd.RDD[String]pyspark: Преобразование DataFrame в РДУ [строка]

Я преобразовал DataFrame df в РДУ data:

data = df.rdd 
type (data) 
## pyspark.rdd.RDD 

новый РДУ data содержит

first = data.first() 
type(first) 
## pyspark.sql.types.Row 

data.first() 
Row(_c0=u'aaa', _c1=u'bbb', _c2=u'ccc', _c3=u'ddd') 

Я бы хотел (а) конвертировать в список из String, как пример ниже:

u'aaa',u'bbb',u'ccc',u'ddd' 

Благодарности

ответ

10

PySpark просто tuple и может быть использован как таковой. Все, что вам нужно здесь просто map (или flatMap, если вы хотите, чтобы сгладить строки, а) с list:

data.map(list) 

или если вы ожидаете различных типов:

data.map(lambda row: [str(c) for c in row]) 
+2

Спасибо @ zero323 с вашими ответами моя кривая обучения будет лучше – Toren

Смежные вопросы