如何将 S3 存储桶中的对象加载到 RStudio 中的 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 中的对象?
相关链接为
任何指导将不胜感激。
解决方案。
我试图从 S3 存储桶中读取 5.3 GB 的 csv 文件。但是由于 R 是单线程的,它会产生内存问题(IO 异常)。
然而,解决方案是在 R (library(sparklyr)) 中加载 sparklyr,因此现在计算机中的所有内核都将被利用。
get_object("link to bucket path") 可以替换为
spark_read_csv("link to bucket path")。由于 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_parquet, spark_write_source, spark_write_table, spark_write_text´
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 中的对象?
相关链接为
任何指导将不胜感激。
解决方案。
我试图从 S3 存储桶中读取 5.3 GB 的 csv 文件。但是由于 R 是单线程的,它会产生内存问题(IO 异常)。
然而,解决方案是在 R (library(sparklyr)) 中加载 sparklyr,因此现在计算机中的所有内核都将被利用。
get_object("link to bucket path") 可以替换为 spark_read_csv("link to bucket path")。由于 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_parquet, spark_write_source, spark_write_table, spark_write_text´