【发布时间】:2019-01-30 04:46:23
【问题描述】:
我正在尝试将 ~67 gb 数据帧(6,000,000 个特征乘 2300 行)加载到 dask 中以进行机器学习。我在 AWS 上使用 96 核机器,我希望将其用于实际的机器学习位。但是,Dask 在单个线程中加载 CSV。它已经用了整整 24 小时,还没有加载。
#I tried to display a progress bar, but it is not implemented on dask's load_csv
from dask.diagnostics import ProgressBar
pbar = ProgressBar()
pbar.register()
df = dd.read_csv('../Larger_than_the_average_CSV.csv')
是否有更快的方法将其加载到 Dask 并使其持久化?我应该切换到不同的技术(Scala 上的 Spark 还是 PySpark?)
Dask 可能仍在加载它,因为我可以在 top 中看到稳定的 100% CPU 利用率。
【问题讨论】:
-
您是从 S3 路径读取数据吗?如果是,那么 spark 将提供更好的性能。
-
@RamdevSharma 它只是存储在实例存储中的 CSV。您认为将其移至 s3 会提高性能吗?
-
没有。 EC2 的 EBS 卷上的本地将比 S3 快得多。
-
在您的情况下,您使用的是单个 m/c,因此 S3 将无济于事,但 spark 肯定会通过在本地模式下运行并具有更多执行程序来提供帮助。
-
@RamdevSharma 你会怎么做呢?我以前从未使用过火花。
标签: python scala apache-spark pyspark dask