Как извлечь N (th) столбец из CSV в искре, используя только rdd, а не dataframe - PullRequest
0 голосов
/ 08 февраля 2019

Я хочу выбрать столбец из CSV-файла, используя только функцию rdd, а не фрейм данных в искре.Я написал код для этого.

Некоторые другие столбцы имеют пустое значение.

rdd = spark.sparkContext.textFile(filename)    
rdd_parc = rdd.map(lambda x: x.split(","))
rdd1 = rdd_parc.map(lambda x: x[6] != "")

Но это решение кажется, что оно не выберет столбец 6, а вместо этого выберет элемент 6 карты.

Пример данных:

Lachine,H,0,,,,"SUMMERLEA, PARC",FR,2016,287826.19201900001,5033164.33193000030,-73.7169573579999,45.4382054
Lachine,H,0,,,,"SUMMERLEA, PARC",FR,2016,287826.19201900001,5033164.33193000030,-73.7169573579999,45.4382054

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

SUMMERLEA, PARC
SUMMERLEA, PARC

1 Ответ

0 голосов
/ 08 февраля 2019

Готово, попробуйте с помощью to сначала преобразовать в rdd на

rdd = spark.read.csv(filename, header=True).rdd

Затем извлеките шестой столбец на

rdd_parc = rdd.map(lambda x: x[6])

Вы получите желаемый результат

...