2

私は、Amazon の Elastic Map Reduce エンジンを処理用の「グリッド」として使用する並列 lapply() タイプの関数を作成するコードに取り組んできました (そうです、これはレデューサーのないマッパーです)。コードが安定したら、foreach バックエンドとして抽象化します。しかし、まず、持っているコードをテストするためのテストを作成する必要があります。

この関数の良いテストケースは何ですか?

現在の私の正規のテストケースは次のとおりです。

myList <- NULL
set.seed(1)
for (i in 1:10){
  a <- c(rnorm(999), NA)
  myList[[i]] <- a
}
outputLocal <- lapply(myList, mean, na.rm=T)
outputEmr   <- emrlapply(myList, mean, myCluster, na.rm=T)
all.equal(outputEmr, outputLocal) 

このテスト ケースでは、オプションの引数na.rm=Tがリモート マシンに適切に渡されることを確認します。私が使用できる他のテストケースは何ですか? 将来的にはサポートしますが、現在はサポートsimplifyも議論もしていません。USE.NAMES

4

1 に答える 1

1

パスするとどうなるかemrlapply

  • 文字ベクトルのリスト
  • 空のリスト
  • NAすべての値が削除された後にのみ空になるリスト
  • NULL
  • ベクトル (ベクトルlapplyで動作)
  • マトリックス
  • data.frame
  • リストのリスト

EMR が利用できない、または必要なパッケージが欠落していることを関数が適切に処理するかどうかを確認するためのテストも必要です。

于 2011-01-05T13:10:55.937 に答える