Spark シェルから Amazon パブリック データセット リポジトリの commoncrawl ファイルにアクセスしたいと考えています。ファイルはWARC.GZ形式です。
val filenameList = List("s3://<ID>:<SECRECT>@aws-publicdatasets.s3.amazonaws.com/common-crawl/crawl-data/CC-MAIN-2014-41/segments/1410657102753.15/warc/CC-MAIN-20140914011142-00000-ip-10-196-40-205.us-west-1.compute.internal.warc.gz")
// TODO: implement functionality to read the WARC.GZ file here
val loadedFiles = sc.parallelize(filenameList, filenameList.length).mapPartitions(i => i)
loadedFiles.foreach(f => f.take(1))
次に、mapPartitions 関数内で WARC.GZ 形式を読み取る関数を実装します。これはそれを行うための良いアプローチですか?私は Spark プラットフォームにかなり慣れていないため、commoncrawl コーパスのごく一部を使用して小さなデモ アプリケーションを実装したいと考えていました。ここのスレッドで mapPartitions が使用されているのを見ました。
私は最初の試みで、sc.textFile("s3://....").take(1) を使用して自分のコンピューターから直接ファイルを開こうとしましたが、アクセス拒否エラーが発生しました。S3 amazon パブリック リポジトリ ファイルは、EC2 インスタンスからのみアクセスできますか?