作为论坛的活跃用户,我是相对较新的,但首先要感谢大家的贡献,因为多年来我一直在寻找答案。
今天,我有一个问题没有人解决,或者我找不到.
作为测试系统的一部分,我试图从s3 (AWS)并行读取文件以触发(本地计算机)。我用过mclapply,但是当设置更多的核时,它就失败了.
示例:(同一代码在使用一个核心时工作,但在使用2时失败)
new_rdd_global <- mclapply(seq(file_paths),函数(I){spark_read_parquet(sc,name=paste0("rdd_",i),path=file_pathsi)},mc.cores = 1) new_rdd_global <- mclapply(seq(file_paths),spark_read_parquet(sc,name=paste0("rdd_",i) )}},mc.cores = 2)警告消息:在mclapply中(seq(File_paths),函数(I){:所有计划的核心在用户代码中遇到错误
有什么建议吗?
提前谢谢。
发布于 2017-10-28 04:17:12
只需通过1 spark_read_parquet()调用将所有内容读入一个表中,这样火花就可以为您处理并行化。如果需要单独的表,则可以在之后拆分它们,前提是有一列告诉您数据来自哪个文件。通常,在使用Spark时,不需要使用mcapply()。
https://stackoverflow.com/questions/46973368
复制相似问题