3

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 インスタンスからのみアクセスできますか?

4

1 に答える 1

5

Spark は Hadoop InputFormat インターフェイスをサポートしているため、Spark から WARC ファイルにアクセスする方法を示す「Analyzing Web Domain Vulnerabilities」分析からのサンプル コードがあります。コード自体はGitHubでホストされています。

Python と Java を使用した Hadoop の場合と同様に、近いうちに Common Crawl GitHub リポジトリで例を提供したいと考えています。

于 2015-01-27T11:10:50.007 に答える