【发布时间】:2017-06-12 10:31:20
【问题描述】:
我正在将文件中的数据读入 R 数据框。数据框的维度是 1788228 10。由于这是巨大的,当我尝试转换为 SparkDataFrame 时,我收到此警告:
警告 scheduler.TaskSetManager:阶段 0 包含一个非常大的任务 (48092 KB)。建议的最大任务大小为 100 KB。
当我尝试执行任何动作操作时,比如
dim(df)
它给了我以下错误
线程“dispatcher-event-loop-0”java.lang.OutOfMemoryError 中的异常:Java 堆空间
从Spark using python: How to resolve Stage x contains a task of very large size (xxx KB). The maximum recommended task size is 100 KB 等其他帖子中,我可以理解这是因为数据框的大小非常大。但是如何减小尺寸?该帖子还建议广播。我们如何使用 R 来做到这一点?帮助。
【问题讨论】:
-
您使用哪个函数将数据帧上传到 Spark?
-
@j df = as.DataFrame(rdf)
-
如果你想上传一个数据框来激发和玩它,你也可以使用 sparklyr (spark.rstudio.com)。安装后,并使用类似
sc <- spark_connect(master = "local")的方式连接到集群,您可以使用your_table_ref <- copy_to(sc, df)将数据上传到 spark。这是一种不同的方法,但它可能有用。
标签: r apache-spark sparkr