迭代并筛选
作为数据顾问,您会接收到各种形态和格式的数据。一位客户刚刚传来一个 40 GB 的 CSV 文件,包含全球高等院校的数据。
由于内存不足,初级分析师无法正确解析这些数据,而且也没有预算购买能处理整个数据集的计算资源。您当前只需要分析澳大利亚的院校。CSV 的文件路径已保存在变量 filepath 中。现请您实现一个高效的数据读取器。已为您加载 parallel、doParallel、foreach 和 iterators 包。
本练习是课程的一部分
R 并行编程
练习说明
- 使用迭代器从
filepath按行读取。 - 使用合适的函数合并结果以创建数据框。
- 指定并行运算符。
交互式实操练习
通过完成这段示例代码来试试这个练习。
cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
# Combine the lines as rows
___ = ___
# Use the parallel operator
) ___ {
line <- strsplit(l, ",")[[1]]
if (line[4] == "Australia") {
return(line)
}
}
stopCluster(cl)