繁体   English   中英

如何在RStudio中将对象从S3存储桶加载到Spark中?

[英]How to load objects from S3 bucket into Spark in RStudio?

S3存储桶中的对象大小为5.3 GB。 为了将对象转换成数据,我使用了get_object("link to bucket path") 但这会导致内存问题。

因此,我在RStudio中安装了Spark 2.3.0,并尝试将该对象直接加载到Spark中,但是将对象直接加载到spark中的命令未知。 library(sparklyr) library(dplyr) sc <- spark_connect(master = "local")

如果将对象转换为可读的数据类型(例如R中的data.frame / tbl),则将使用copy_to将数据从R传输到spark中,如下所示:

将数据复制到Spark

spark_tbl <- copy_to(spark_conn,data)

我想知道如何在spark内部转换对象?

相关链接将是

  1. https://github.com/cloudyr/aws.s3/issues/170

  2. Sparklyr连接到S3存储桶引发错误

任何指导将不胜感激。

解。

我正在尝试从S3存储桶读取5.3 GB的csv文件。 但是由于R是单线程的,因此它带来了内存问题(IO异常)。

但是,解决方案是将sparklyr加载到R(库(sparklyr))中,因此现在将使用计算机中的所有内核。

get_object(“链接到存储桶路径”)可以替换为spark_read_csv(“链接到存储桶路径”)。 由于RStudio使用所有内核,因此没有内存问题。

另外,根据文件扩展名,您可以更改功能:spark_load_table,spark_read_jdbc,spark_read_json,spark_read_libsvm,spark_read_parquet,spark_read_source,spark_read_table,spark_read_text,spark_save_table,spark_write_csv,spark_write_jdbc,spark_write_json,spark_write_source

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM