如何使用来自 csv 的 spark 中的 python 在地图上可视化数据?

How to visualize data on a map using python in spark that came from csv?

我在 HDFS 中有一个 CSV 文件。我使用的是最新版本的 SparkPython 3.7。我怎样才能使 CSV 可视化?

我尝试了以下示例代码:

from pyspark.sql.functions import avg

mydataframe = spark.read.csv("/diamonds.csv", header="true", inferSchema="true")

display(mydataframe.select("color","price").groupBy("color").agg(avg("price")))

问题是,我在输出中看到的只是看起来像 mydataframe 架构的文本,而不是实际的图表或可视化。

有一个 'latitude' 和 'longitude' 的列,我想用它在地图上显示。我该怎么做?

您是否考虑过使用 python 专为地理可视化设计的模块,例如 geopandas?

import geopandas as gpd
from shapely.geometry import Point

geometry = [Point(xy) for xy in zip( mydataframe["LONGITUDE"], mydataframe["LATITUDE"])]
gdf = gpd.GeoDataFrame(mydataframe, geometry=geometry)
gdf.plot()

有关详细信息,请参阅 Application GeoPandas and Spark

我在使用数据砖平台时遇到了一个非常相似的问题。简而言之,这个想法是这样的:

  1. 将 OpenStreetMaps 与 databricks notebook 中的 leafletjs to render map with overlays. Use displayHTML 函数结合使用来渲染 HTML。
  2. 标记用于表示地图上的信息。
  3. 对于小型数据集,渲染几个标记不是问题。但是对于大型数据集渲染是一个大问题,浏览器卡住等问题,这可以通过使用 markercluster 来规避。标记集群允许像功能一样向下钻取。

对于任何大到足以在浏览器上造成问题的数据集,我建议您自己以可用的方式汇总数据。