libhdfs: 使用上の注意

hdfsOpenはディレクトリも書き込みモードで開けます。というか、ファイルを消して、そこに新たにファイルを作ります。なのでcp的なものを作ろうとして、誤ってディレクトリに対してhdfsWriteしてしまうと…/(^o^)\

追記

他の関数も調べてみました。

  • hdfsCopy(file, dir) ---> dir/fileができた
  • hdfsRename(file, dir) ---> 失敗
  • hdfsCreateDirectory(path_to_dir) ---> 成功(ディレクトリの中身はそのまま)
  • hdfsCreateDirectory(path_to_file) ---> 失敗

うーん。インターフェイスはしっかりしているのに、内部の挙動に統一感がないな…。怖いので、念のため自前でディレクトリかどうかチェックして、処理を分岐させた方が良いかもしれませんね。