イテレートしてフィルターする
データコンサルタントとして、さまざまな形や形式のデータを受け取ります。あるクライアントから、世界中の高等教育機関に関するデータを含む40ギガバイトの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)