我正在加载一个csv文件作为Dataframe,并将其转换为rdd。此rdd包含[纽约,纽约,纽约,洛杉矶,洛杉矶,底特律,迈阿密]等城市的列表。我希望能够提取每个城市的频率,如下所示:
纽约:3洛杉矶:3底特律:1迈阿密:1
我知道我可以用dataframe函数来实现这一点,但是我需要用rdd函数来实现这一点,比如map、filter等。
以下是我迄今为止尝试的:
df= spark.read.format("csv").option("header", "true").load(filename)
newRDD = df.rdd.map(lambda x: x[6]).filter(lambda x: x!=None)
我刚刚在包含城市的Dataframe中得到上述代码的第6列
1条答案
按热度按时间jfgube3f1#
你可以试试
reduceByKey
.