gpt4 book ai didi

r - 使用 sparklyr 高效地将 data.table 写入 Spark

转载 作者:行者123 更新时间:2023-12-05 07:21:30 26 4
gpt4 key购买 nike

我正在尝试使用 sparklyr 将大型 data.table 上传到 Spark,如下所示:

copy_to(sc, obj, "name_of_object")

sc 是一个 Spark 连接,obj 是我的对象。经过一番挖掘,我发现将表写入 Spark 的过程如下(在 spark_data_copy() 中):使用序列化程序 spark_serialize_csv_scala 在磁盘上创建一个 csv 文件,该序列化程序使用 base R write.table()。写入文件后,R 指示 Spark 读取 csv。

我发现这对我的使用来说不是很有效 R 似乎挂起,并且在任务的 csv 写入部分只能做很多调整。是否存在将 R 内存中的数据放入 Spark 的有效方法?

最佳答案

一种解决方案是使用 data.table 的 fwrite() 编写一个 csv 并使用 spark_read_csv() 导入它。这提供了两个加速:

  1. fwritewrite.table()
  2. 快很多
  3. 出于某种原因,使用 spark_read_csv() 也快得多,像这样运行本地 Spark 实例将使用所有内核(可能还有更多差异)。对我来说,在真正有帮助的 16 核机器上。

如果有时间,我会做更精确的测量。

关于r - 使用 sparklyr 高效地将 data.table 写入 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56868941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com