s3:// と s3n:// の違いとは??

現在クラウドサービスと呼ばれるものには色々あり賑やかですが, 今回の話は Amazon Web Services (AWS) が提供する Elastic MapRecude (EMR) と Simple Strage Service (S3) の小ネタです.

S3 は文字通りディスクのようにファイルの保存先として使えます. Apache Hadoop でも入出力先として S3 が使えるようになっていて, Apache Hadoop を使っている EMR でも, もちろんこの S3 が利用できます.

その S3 のファイルパスの先頭にスキーマ名が付くのですが, Elastic MapReduce (EMR) の文書では s3://s3n:// が混在しています. (ここのコマンドとか) 何か違うのかどうか色々検索してみたり, 以下の本にあたってみたりしたところ, 特に違いは無いそうです.

本家の EMR の資料に「Apache Hadoop では違いがあるけど, EMR では特に違いは無いよ」という記述があります. → http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/FileSystemConfig.html ちなみに Apache Hadoop での s3://s3n:// についてはこちら → http://wiki.apache.org/hadoop/AmazonS3 AWS の本家の資料はかなりしっかりしているので, サービスを使う前に舐めるように全部読むべきでした. 反省.

結論ですが,「EMR では別にどっちを使っても構わなくって, Apache Hadoop の s3:// のようにしたければ hdfs:/// (こっちはスラッシュ3つ) を指定しなさい」ということでした. (http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/CLI_CreateStreaming.html#API の Note)

ちゃんちゃん.

Licenses