2017-09-03 52 views
0

我想绘制200 Gb的NYC taxi Dataset。 我设法使用datashader绘制/可视化熊猫数据框。 但我没有设法使用PySpark数据框(每个使用8节点RAM的4节点集群)来完成它。我可以做的是,使用。 toPandas()将PySpark数据框转换为Pandas数据框的方法。但是,这会将整个数据帧加载到驱动程序节点上的RAM中(RAM的容量不足以适应整个数据集),因此不会利用Spark的分布式功能。与PySpark DataFrame一起使用datashader

我也知道,只提取拾取和丢失的长度和纬度将会使数据帧大约30GB左右。但是这并没有改变这个问题。

我已经在GitHub上datashader这里Datashader issue opened

我已经看过DASK作为替代,但似乎转换PySpark数据框所造成的问题 - > DASK数据帧不被支持。

谢谢您的建议!

回答

2

确实没有直接的方法将(分布式)pyspark数据帧转换为Dask数据帧。但是,Dask是它自己的执行引擎,如果你愿意,你应该能够完全避开火花。 DASK能够从CSV从远程数据源加载数据集,如S3类似的方式引发,这可能看起来像:

​​

这工作特别好datashader,它知道如何使用来计算其聚合Dask,因此您可以使用大于内存的数据集,可能跨群集进行计算 - 所有这些都不带火花。

datashader examples包含Dask和纽约出租车的例子(但不是两者都在一起,不幸)。

+0

是的,我转移到Dask这是非常可怕的结合Parquet!希望总有一天能够支持Pyspark数据框,以便Spark用户可以直接使用数据传输器! – filipyoo

0

这事从DASK不同..

我要说的是,最好的方式与火花可视化这样的数据是使用飞艇。它很容易安装https://zeppelin.apache.org/。您可以使用spark的默认可视化。一探究竟。

相关问题