为什么sparklyr函数spark_read_csv需要这么长时间并最终刹车?

时间:2019-05-08 20:22:35

标签: r apache-spark sparklyr

我需要将一个大型数据集从CSV文件上传到按照RStudio(https://spark.rstudio.com/examples/stand-alone-aws/)提供的指南构建的Spark集群,然后在R中运行一些数据处理。我正在使用sparklyr软件包,并且我的功能spark_read_csv有问题。它适用于小型数据集(示例中的CSV有10行)。一旦大小增加(1000行),该函数将提交一个火花作业,该作业在30分钟左右的时间内达到90%,然后直到我中止该过程才完成。理想情况下,我需要上传一个具有约200万行且大小为800 MB的数据集。

我尝试使用PySpark上载数据,该方法似乎运行良好且快速,但是后来我无法在R中获取数据以进行下一步需要在R中运行的操作。我在其他服务器(IBM Cloud,Amazon EC2实例,本地笔记本电脑),但都出现相同的问题。

sc <- spark_connect(master="spark://ip-xxxxx.eu-central-1.compute.internal:7077", 
                    version = "2.1.0",
                    spark_home = "/home/ubuntu/spark-2.1.0-bin-hadoop2.7/")

train <- spark_read_csv(sc, "train", "/home/ubuntu/train.csv")

我希望这对于大文件来说很快,但是它花费的时间太长,最终会卡住。那么Spark的意义是什么?

难道不是应对R无法在内存中处理的大型数据集的禁忌解决方案之一吗?

0 个答案:

没有答案