我有一个非常大的csv文件,所以我使用spark并将其加载到sparkDataframe中。
我需要从csv上的每一行中提取纬度和经度,以便创建一个foliumMap。
有了Pandas,我可以用一个循环来解决我的问题:
for index, row in locations.iterrows():
folium.CircleMarker(location=(row["Pickup_latitude"],
row["Pickup_longitude"]),
radius=20,
color="#0A8A9F",fill=True).add_to(marker_cluster)
我发现与pandasDataframe不同,sparkDataframe不能由循环处理=>如何循环遍历pyspark中的每一行Dataframe。
所以我想,为了解决这个问题,我可以把大数据切割成Hive表,然后迭代它们。
是否可以在配置单元表中剪切巨大的sparkDataframe,然后用循环迭代行?
1条答案
按热度按时间vngu2lb81#
一般来说,您不需要迭代Dataframe或rdd。你只会创造
transformations
(如map)将应用于每个记录,然后调用一些action
称之为处理。你需要这样的东西:
如果不能使用sql,则需要使用rdd: