首页 > 解决方案 > 如何在pyspark中将类型从_csv.reader转换为rdd

问题描述

我首先需要使用 csv.reader 读取 rdd 文件以删除 rdd 文件中的双引号。然后我需要将 csv.reader 文件转换为 rdd 类型。我尝试使用sc.parallelize,但发现所有内容都消失了。

这是我的代码:

rdd_units = sc.textFile('file.csv')
rdd_units.take(4)

rdd_units.take(1) 的输出:

['"苹果","香蕉","橙子","樱桃","蓝莓","猕猴桃"']

rdd_units_=csv.reader(rdd_units.collect(),delimiter=',')

rdd_units_1=sc.parallelize(rdd_units_)

rdd_units_1.take(1)

rdd_units_1 的输出:[]

但我希望 rdd_units_1 的输出是:['apple','banana','orange','cherry','blueberry','kiwi'] 我不知道为什么 rdd_units_1 会变空。

标签: pythonpysparkrdd

解决方案


您可以使用数据框。

df = spark.read.option("header","true").option("inferSchema","true").csv("test.csv")
df.columns

['apple', 'banana', 'orange', 'cherry', 'blueberry', 'kiwi']

推荐阅读